我正在尝试制作一个系统托盘应用程序,该应用程序在启动时加载并每 2 小时弹出一个气球文本。如果有这样的例子,那就太好了。
我正在寻找使用。
WPF、定时器、委托、事件
我不确定这些是否足够,或者我还需要更多东西。
提前致谢。
我正在尝试制作一个系统托盘应用程序,该应用程序在启动时加载并每 2 小时弹出一个气球文本。如果有这样的例子,那就太好了。
我正在寻找使用。
WPF、定时器、委托、事件
我不确定这些是否足够,或者我还需要更多东西。
提前致谢。
首先,您需要在系统启动时启动应用程序:假设我有一个复选框,如果激活了此复选框,我想在 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:您的应用程序名称将显示在任务管理器中,就像您在那里写的那样
关于使用 notify Icon ,实际上 WPF 不支持现成的,因此您要么使用 Windows Forms Notify Icon ,要么使用 codeproject.com 的另一个答案中提到的那个
如果你想使用已经存在于 windows 窗体中的那个,你必须在你的项目中添加对 System.Windows.Forms 的引用
我想你会很好的。实际上,您需要的只是一个 NotifyIcon 和一个 Timer。我以这种方式完成了类似的工作,除了我没有使用 WPF(我宁愿使用“经典”窗口设计器)。
让您的应用程序在启动时启动的最简单方法可能是将其放入“开始”菜单的“启动”文件夹中,实际上不需要使用注册表。
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