作为服务运行时的GetDesktopWindow替代方案

时间:2009-09-04 08:45:39

标签: c# .net winforms user-interface winapi

我正在尝试测试我的WinForm应用程序作为构建的一部分(作为服务运行)。我正在使用GetDesktopWindow和EnumChildWindows来查找我感兴趣的控件。当我在控制台,调试器等的交互式会话中运行它时,这非常有效。但是当作为构建的一部分运行时未能找到任何控件。在作为服务运行时,我可以使用什么作为查找所有窗口的替代方法?

2 个答案:

答案 0 :(得分:1)

通常情况下,Windows服务根本不允许与桌面交互(自Windows Vista引入以来) - 您是否考虑过将构建过程更改为计划任务?为什么你还在使用GetDesktopWindow?如果您想要枚举所有桌面窗口以找到您的应用程序,这听起来像是在尝试做一些奇怪的事情。

答案 1 :(得分:0)

您可以(如果您拥有相应的访问权限)在默认的交互式桌面上使用EnumDesktopWindows