2

起動時に読み込まれ、2時間ごとにバルーンテキストをポップするシステムトレイアプリケーションを作成しようとしています。そのような例があれば、それは素晴らしいことです。

使いたいです。

WPF、タイマー、デリゲート、イベント

これらで十分かどうか、またはもっと何かが必要かどうかはわかりません。

前もって感謝します。

4

3 に答える 3

1

まず最初に、システムの起動時にアプリケーションを起動するために必要なものがあります。チェックボックスがあり、このチェックボックスがアクティブになっている場合は、Windowsの起動時にアプリケーションを起動したいとします。

RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
private void checkBox_autoStart_Checked(object sender, RoutedEventArgs e)
  {
    rkApp.SetValue("Your Application Name Here",Assembly.GetExecutingAssembly().Location);
  }

そして、あなたが次のことを行うことの非アクティブ化について:

private void checkBox_autoStart_Unchecked(object sender, RoutedEventArgs e)
    {
        rkApp.DeleteValue("Your Application Name Here", false);
    }

ps:アプリケーション名は、タスクマネージャーに書き留めた方法で表示されます

また、通知アイコンの使用については、実際にはWPFは既製のアイコンをサポートしていないため、Windowsフォーム通知アイコンを使用するか、codeproject.comからの別の回答に記載されているアイコンを使用します。

Windowsフォームに既に存在するものを使用する場合は、プロジェクトにSystem.Windows.Formsへの参照を追加する必要があります。

于 2010-11-23T21:53:18.327 に答える
1

私はあなたがそれらで大丈夫だと思います。必要なのは、実際にはNotifyIconとタイマーだけです。WPFを使用していなかった(「クラシック」ウィンドウデザイナーを使用した)ことを除いて、この方法で同様のことを達成しました。

起動時にアプリを起動させる最も簡単な方法は、おそらく[スタート]メニューの[起動]フォルダーにアプリを配置することです。実際には、レジストリを使用する必要はありません。

于 2010-11-23T21:56:23.463 に答える
0

Windowsサービスはバックグラウンドで実行するのに最適な場合がありますが、サービスからGUIにアクセスするのは難しい場合があります(簡単ではないと思います)。

トレイ通知を実行するWPFデスクトップアプリについては、デモとソースコードを含むこのプロジェクトを参照してください:http://www.codeproject.com/KB/WPF/WPF_xaml_taskbar_window.aspx

2時間ごとに通知を受け取るには、DispatcherTimerを使用できます: http ://social.msdn.microsoft.com/Forums/en/wpf/thread/aaffea95-e735-492d-bd8a-2fdf7099a936

于 2010-11-23T21:51:38.780 に答える