我正在尝试使用psexec
在远程计算机上生成进程(用于自动化测试),并注意到生成的进程没有正确响应消息(WM_GETOBJECT
,但是这完全是另一个问题。我打开spy++
试图查看原因,但我无法将任何消息记录到我的进程窗口。窗口属性还指示窗口的“Windows Proc”为“不可用”:
我认为这是自psexec
uses an embedded service on the remote machine to launch the requested application以来Windows服务的行为。我使用相同的凭据登录到两台计算机,因此我不认为这是用户安全问题,而是与服务相关的行为。
作为一个完整性检查,我写了一个快速的独立服务器和客户端来远程执行程序,一切都按预期工作:Window Proc不再“不可用”,我可以监视消息。
我使用普通的Windows计算器(calc
)进行所有测试,例如:
psexec.exe -i \\other-machine calc
我的问题:有人可以确认,解释和/或引用为什么我看不到服务产生的进程的消息队列吗?还有一个解决方法吗?我宁愿使用psexec
而不是我的自定义解决方案。如果您还可以解释为什么WM_GETOBJECT
在这种情况下不会返回我的自定义UI自动化提供程序,这是我的原始问题。