C# GetDesktopWindow作为服务运行时的备选方案
我正在尝试将WinForm应用程序作为构建(作为服务运行)的一部分进行测试。我正在使用GetDesktopWindow和EnumChildWindows查找我感兴趣的控件。当我从控制台、调试器等在交互式会话中运行它时,这非常有效,但在作为构建的一部分运行时,找不到任何控件。作为服务运行时,我可以使用什么作为查找所有窗口的替代方法?通常,windows服务根本不允许与桌面交互(自windows Vista推出以来就不允许了)-您是否考虑过将生成过程更改为按计划任务运行?为什么要使用GetDesktopWindow?如果您试图枚举所有桌面窗口以查找您的应用程序,听起来您似乎在尝试做一些奇怪的事情。听起来您可以(如果您有适当的访问权限)在默认交互式桌面上使用 起初,我使用应用程序的主窗口查找子控件(这肯定是更明智的做法),但它没有找到自定义模式对话框——即使在正常运行条件下(使用Form.ShowDialog()显示)。顺便说一句,通常的做法是让构建服务器作为服务运行,这是我第一次尝试测试WinFormGUI。C# GetDesktopWindow作为服务运行时的备选方案,c#,.net,winforms,user-interface,winapi,C#,.net,Winforms,User Interface,Winapi,我正在尝试将WinForm应用程序作为构建(作为服务运行)的一部分进行测试。我正在使用GetDesktopWindow和EnumChildWindows查找我感兴趣的控件。当我从控制台、调试器等在交互式会话中运行它时,这非常有效,但在作为构建的一部分运行时,找不到任何控件。作为服务运行时,我可以使用什么作为查找所有窗口的替代方法?通常,windows服务根本不允许与桌面交互(自windows Vista推出以来就不允许了)-您是否考虑过将生成过程更改为按计划任务运行?为什么要使用GetDeskt