如何从以本地系统运行的服务中获取以用户运行的Windows 7应用程序的MainWindowHandle?
|
我已经创建了一个以“本地系统”用户身份运行的服务。此服务使用本机互操作和CreateProcessAsUser()方法启动和监视Silverlight浏览器外应用程序(以当前登录用户(而不是本地系统)的身份运行它)。我可以在生成的Process上获取句柄,并执行类似Kill()的操作,但是,我知道该服务无法获取子应用程序主窗口的句柄,因为子应用程序以其他用户身份运行。我正在Windows 7上运行。
我的最终目标是对Process停止响应的时间做出正确响应(即Process.Responding == false),以便我可以终止该应用程序并重新启动它。但是,Process.Responding需要处理主窗口的句柄(确切地说是Process.MainWindowHandle),但是,在这种情况下,Process.MainWindowHandle始终返回0。
我被困在这里。在Win 7中,一个用户有什么方法可以获取以另一个用户身份运行的进程的窗口句柄?
在此先感谢您提供的所有帮助。
没有找到相关结果
已邀请:
1 个回复
澜悍景哭苟