Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows services “Windows程序”;“不可用”;对于由服务派生的进程_Windows Services_Psexec_Wndproc_Windows Messages_Spy++ - Fatal编程技术网

Windows services “Windows程序”;“不可用”;对于由服务派生的进程

Windows services “Windows程序”;“不可用”;对于由服务派生的进程,windows-services,psexec,wndproc,windows-messages,spy++,Windows Services,Psexec,Wndproc,Windows Messages,Spy++,我试图使用psexec在远程机器上生成一个进程(出于自动测试目的),并注意到生成的进程没有正确响应消息(WM_GETOBJECT,但这完全是另一个问题)。我打开了spy++,试图找出原因,但我无法记录任何进入进程窗口的消息。窗口属性还指示该窗口的“Windows进程”为“不可用”: 我认为这是Windows服务的一种行为,因为psexec。我使用相同的凭据登录到这两台计算机,因此我认为这不是用户安全问题,而是与服务相关的行为 作为一个健全的检查,我写了一个快速独立的服务器和客户端远程执行一个程

我试图使用
psexec
在远程机器上生成一个进程(出于自动测试目的),并注意到生成的进程没有正确响应消息(
WM_GETOBJECT
,但这完全是另一个问题)。我打开了
spy++
,试图找出原因,但我无法记录任何进入进程窗口的消息。窗口属性还指示该窗口的“Windows进程”为“不可用”:

我认为这是Windows服务的一种行为,因为
psexec
。我使用相同的凭据登录到这两台计算机,因此我认为这不是用户安全问题,而是与服务相关的行为

作为一个健全的检查,我写了一个快速独立的服务器和客户端远程执行一个程序,一切都按预期进行:窗口程序不再“不可用”,我可以监视消息

我在所有测试中都使用了普通的Windows计算器(
calc
),即:

psexec.exe -i \\other-machine calc

我的问题:有人能确认、解释和/或引用为什么我看不到由服务产生的进程的消息队列吗?还有解决这个问题的方法吗?我宁愿使用
psexec
而不是我的自定义解决方案。如果您还可以解释为什么在这种情况下
WM_GETOBJECT
也不返回我的自定义UI自动化提供程序,这是我的原始问题,那么您就有好处了。

由于psexec使用Windows服务启动可执行文件,您可能会遇到问题。您的应用程序是否在会话0中启动?可能Spy++在访问它时遇到问题。我运行的是XP,所以我不认为这是我的问题。无论如何,为了检查,我在任务管理器中启用了“会话ID”列,它显示calc为“0”。但是,系统或我的用户登录的所有其他应用程序/服务也在会话0中。