【发布时间】:2013-12-29 15:37:01
【问题描述】:
问题:
显示托盘图标、窗口和命令行窗口并保持所有响应的最佳方式是什么?当命令行窗口关闭时,应用程序应该终止。
感谢您花在阅读和可能回答上的每一秒 :-)
新年快乐 :-)
背景:
我目前正在开发一个小型 Windows 应用程序。我正在使用 VS2012、C# 和 WPF。它从持续集成服务器获取构建状态,并在构建失败时做出反应。
我的计划是创建一个命令行 exe 和 windows 服务 exe。两者都应该在任务栏中创建一个系统托盘图标。单击托盘图标或在上下文菜单中应启动 WPF 窗口(用于配置服务器连接)。我为此准备了三个程序集,一个 cmd.exe、一个 service.exe 和 shared-logic-and-ui.dll(名称已更改)。
我创建了所有单个部分,但现在混合起来遇到了问题。我尝试的一切都会导致死锁、冻结的窗口、应用程序崩溃……我对多线程缺乏经验……
【问题讨论】:
-
该服务无法显示通知区域图标,因为它不在交互式桌面中运行。
-
好的...在我所有显示系统尝试的程序中是如何完成的?像病毒扫描、其他构建观察者、adobe updater 等等?
-
通知图标只能从交互式桌面中运行的进程创建
-
如果您正在寻找构建验证和错误报告,使用CruiseControl 不是很好吗?
-
我有 TeamCity 用于构建验证和错误报告,但我创建了自己的工具来查询 TeamCity 服务器构建状态并在 UI 和 USB 交通灯上显示结果。
标签: c# wpf command-line windows-services system-tray