如何使用WPF窗口和系统托盘图标创建命令行/ Windows服务应用程序?

时间:2013-12-29 15:37:02

标签: c# wpf command-line windows-services system-tray

问题:

显示托盘图标,窗口和命令行窗口并保持所有响应的最佳方法是什么?应用程序应在命令行窗口关闭时终止。

感谢你花在阅读和回答上的每一秒: - )

新年快乐: - )

背景

我目前正在开发一个小型Windows应用程序。我正在使用VS2012,C#和WPF。它从持续集成服务器获取构建状态,并且在构建失败时应该做出反应。

我的计划是创建一个命令行exe和windows service exe。两者都应在任务栏中创建系统托盘图标。单击托盘图标或在上下文菜单中,应启动WPF窗口(用于配置服务器连接)。我有三个程序集,一个cmd.exe,一个service.exe和shared-logic-and-ui.dll(名称已更改)。

我创建了所有单个部件但现在有问题要混合它。我试过的一切都会导致DeadLocks,冻结的窗户,应用程序崩溃......我对多线程缺乏经验...

1 个答案:

答案 0 :(得分:0)

我的解决方案: 我删除了控制台应用程序和Windows服务。我只创建WPF应用程序,但在开始时隐藏窗口,只显示系统托盘图标。对于登录时的启动,我添加了启动在msiconfig中找到的应用程序。

但无论如何: 可以从Windows服务创建UI进程。见下一个链接。

Question on Stackoverflow: Show a windows form from a windows service

Accepted answer on codeproject