2011-01-31 82 views
2

我有简单的非UI应用程序,然后将转换为Windows服务。但是为了测试,看看它何时运行会很有用。所以我想用UI创建一个任务栏按钮作为其他应用程序。有合理的努力可能吗?如何创建没有任何窗口的任务栏按钮?

+0

Taskmgr.exe可以显示您的过程,足够测试。 – 2011-01-31 16:15:44

回答

4

不,这是不可能的。任务栏上的按钮代表窗口。没有窗口就不能有按钮,并且该窗口需要可见。 (该窗口可以具有将其从屏幕上脱离的坐标,并且它可以具有零维度,但它需要具有WS_VISIBLE样式。)

另一个选项是创建通知图标。它也需要有一个窗口,但窗口不一定是可见的。尽管如此,如果最终目标是让程序成为一项服务,那么建立起来可能会比你想要的更努力。服务无法显示通知图标或有窗口。

也许最简单的变化是简单地让你的程序成为控制台程序。然后操作系统将为您创建一个控制台窗口。您的程序无需以任何方式创建或管理它。

0

(-32767接近0的大小和位置的某处)创建一个自定义窗口类,并始终保持最小化或总是看不见的窗口

0

Windows服务应该有UI。事实上,在Windows Vista和Windows 7中,它们运行在不同的会话中,无法访问桌面。

要监视你的服务,你需要编写另一个应用程序。通常,这些应用程序使用隐藏窗口运行,并使用notification area与用户进行交互。

1

创建一个类型为ITaskbarList的对象,然后在其上调用方法AddTab。你不需要一个可见的窗口就可以工作。一个虚拟的,不可见的窗口将会做。 当然,如果你不用上面提到的方法手动添加它,这个窗口就不会出现在任务栏中。

相关问题