私が調べた限り、初歩的な事なのか情報を見つけることができなかったので
こちらにて質問させていただきます。
hoge.exe上で
デスクトップ C# アプリからのローカル トースト通知の送信
を参考にトースト通知を組み上げた。
この際、hoge.exeはWPFアプリではないため、
WPFに該当する部分は置き換えた。
念のため現在問題が発生しているプログラムではなく、
新たにhoge.exeを上記ページを参考に組み上げた。
タイトルの通り、Win32からトーストを起動した際、
管理者権限ではない通常の権限で起動した場合は
トーストをクリックした場合にhoge.exeに処理が返るのですが、
管理者権限でhoge.exeを起動、トーストを表示した場合、
トーストから管理者権限で起動中のhoge.exeにアクセスできず、
新しいhoge.exe が-ToastActivated引数付きで起動してしまいます。
Toastを表示するCOMを生成している部分は
上記URL中の
DesktopNotificationManagerCompat.cs file from GitHub
の部分であり、
C#でUACの昇格可能なEXEのCOMオブジェクトを作成する方法
を参考に
private static void RegisterComServer<T>(String exePath)
部分に
//////////
//Add UAC Object
key.SetValue("LocalizedString","@" + exePath + ",-101", Microsoft.Win32.RegistryValueKind.String);
// Elevation
using (var subkey = key.CreateSubKey("Elevation"))
{
subkey.SetValue("Enabled", 1, Microsoft.Win32.RegistryValueKind.DWord);
}
//////////
を追記してみましたが、
こちらもトースト自体が管理者で起動していないのか
管理者で起動しているhoge.exeに処理を返せませんでした。
[まとめ]
==========
管理者で実行していないとき:
hoge.exe→トースト起動→トーストをクリック→hoge.exeに処理が戻る
管理者で実行しているとき:
hoge.exe→トースト起動→トーストをクリック→
hoge.exeにアクセスできずに新しくhoge.exeが-ToastActivated引数付きで起動する
==========
どなたか解決策をアドバス頂けると大変助かります。