C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

トースト通知のアイコン

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■100495 / inTopicNo.1)  トースト通知のアイコン
  
□投稿者/ ルーキー (1回)-(2022/08/22(Mon) 17:48:32)

分類:[C#] 

C#で、Windowsトースト通知を表示するプログラムを構築し、exeファイルを作成したのですが、
対象exeを呼び出す際、パスによっては指定したアイコンがトースト通知画面に表示されません。
トースト通知関係なく、基礎的なことの気もしてますが、どなたがご教授お願いします。

現象)
仮にサーバーの共有フォルダー(\\TestServer\Folder)をドライブAに割り当てているとします。
アイコンファイルは A:\Resources\test.ico に置いてあるとします。
C#プロジェクトのリソースに上記アイコンファイルをドラッグで追加し、アプリケーションのアイコンを追加したファイルで指定します。
Test.exe としてビルドし、A:TestFolder に配置したとします。

コマンドなどからexeを呼出す際、A:\TestFolder\Test.exe で呼び出せばトースト通知に指定アイコンが表示されますが、
\\TestServer\Folder\Test.exe で呼び出すとアイコンが表示されません。
アイコンファイルはexeに埋め込まれているはずですが、そのexe内ではなく、別の位置を参照にいっているかのような気がしています。

引用返信 編集キー/
■100500 / inTopicNo.2)  Re[1]: トースト通知のアイコン
□投稿者/ とっちゃん (764回)-(2022/08/25(Thu) 11:19:07)
No100495 (ルーキー さん) に返信
> コマンドなどからexeを呼出す際、A:\TestFolder\Test.exe で呼び出せばトースト通知に指定アイコンが表示されますが、
> \\TestServer\Folder\Test.exe で呼び出すとアイコンが表示されません。
> アイコンファイルはexeに埋め込まれているはずですが、そのexe内ではなく、別の位置を参照にいっているかのような気がしています。
>
exeにアイコンが埋め込まれているかわかりませんが、少なくとも表示しようとしているアイコンは
プログラム的に「ファイルをパスで指定」されていると思います。

この情報から分かるのはこの程度ですかね。
ところで、ここでいうトーストはこちらですか?

https://docs.microsoft.com/ja-jp/windows/apps/design/shell/tiles-and-notifications/toast-notifications-overview?WT.mc_id=DT-MVP-32182
引用返信 編集キー/
■100501 / inTopicNo.3)  Re[2]: トースト通知のアイコン
□投稿者/ ルーキー (2回)-(2022/08/25(Thu) 11:46:43)
No100500 (とっちゃん さん) に返信

ご返答ありがとうございます。

ここで私が記載しているトースト通知は、張っていただいたリンク先のものです。
(Microsoft.Toolkit.Uwp.Notifications.dllを用いて通知処理を構築しています)

張っていただいたリンク先のページでいえば、タイトルの「App name」の横にある水色っぽい四角のアイコンですが、
こちらがアプリケーションのアイコンに指定したアイコンで表示されます。
ただし、サーバー名やIPアドレスで起動した場合は、指定アイコンではなく、トースト通知既定?のアイコンになります。

VS IDEからデバッグ実行する場合においても、サーバー上においてあるプロジェクトを
ネットワークドライブ登録したドライブから開いた場合(例 A:\PGFolder\App.sin)ではアイコンが正しく表示され、
サーバー名(\\ServerName\PGFolder\App.sin)やIPアドレスで開いてデバッグ実行した場合は表示されません。

上記のことから、トースト通知のアイコン仕様として、ローカル的な扱いのパス以外の場合、
アイコンを表示できないような仕様になっているのかと思っていたところです。
(なぜそのような仕様なのか理由が不明ですが。。。)

ちなみに対象EXEをローカルのフォルダーに配置し、普通に呼び出せばアイコンが表示され、
そのフォルダーを共有にして、自身のIPアドレス経由で起動した場合は表示されないため、
上記の仕様は間違いない気がしています。
引用返信 編集キー/
■100503 / inTopicNo.4)  Re[3]: トースト通知のアイコン
□投稿者/ とっちゃん (765回)-(2022/08/25(Thu) 15:33:59)
No100501 (ルーキー さん) に返信
> ここで私が記載しているトースト通知は、張っていただいたリンク先のものです。
> (Microsoft.Toolkit.Uwp.Notifications.dllを用いて通知処理を構築しています)
>
Win10 API のトースト通知ということですね。

トーストって共有フォルダサポートしてるのかな?

Win10 APIは元々UWP向けに作られたという経緯もあって、大半が共有フォルダをサポートしていません。
その影響の可能性はあります。

リファレンスにも、できるできないの記載がないのでこの辺りは試してみてダメなら使えないので
本来想定している仕掛けを用意していくしかないと思います。

引用返信 編集キー/
■100504 / inTopicNo.5)  Re[4]: トースト通知のアイコン
□投稿者/ ルーキー (3回)-(2022/08/25(Thu) 15:49:41)
No100503 (とっちゃん さん) に返信

追加のご返答ありがとうございます。

> Win10 APIは元々UWP向けに作られたという経緯もあって、大半が共有フォルダをサポートしていません。
> その影響の可能性はあります。
そうなんですね。勉強になりました。
ありがとうございます。
つまり、ドライブを割り当てると共有フォルダーは共有フォルダーの扱いにならないんですね。

上記事情などから、やはり実装してダメならダメっぽいということで、
ローカルに自動コピーして起動するなど、何かしら別の方法を検討しようと思います。



解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ