Winapi 如何找到由系统创建的进程的句柄

Winapi 如何找到由系统创建的进程的句柄,winapi,Winapi,首先我想对我的英语表示歉意,它有点生疏了 我有两份申请。第一个(A)是主应用程序,由具有最大用户权限的“系统”调度程序创建。第二个(B)由登录用户创建 应用程序B向应用程序A发送消息(WM_COPYDATA),结果接收到应用程序B状态的字符并显示它。当两个应用程序都由用户运行时,一切正常。但当应用程序B在系统用户下运行时,我找不到此应用程序的句柄 我的问题是:当应用程序作为“系统”运行时,如何找到它的句柄?这是行不通的。这打破了安全模型。您可能需要找到另一个IPC机制,例如命名管道,并对其进行保

首先我想对我的英语表示歉意,它有点生疏了

我有两份申请。第一个(A)是主应用程序,由具有最大用户权限的“系统”调度程序创建。第二个(B)由登录用户创建

应用程序B向应用程序A发送消息(WM_COPYDATA),结果接收到应用程序B状态的字符并显示它。当两个应用程序都由用户运行时,一切正常。但当应用程序B在系统用户下运行时,我找不到此应用程序的句柄


我的问题是:当应用程序作为“系统”运行时,如何找到它的句柄?

这是行不通的。这打破了安全模型。您可能需要找到另一个IPC机制,例如命名管道,并对其进行保护,以允许在不同权限级别进行通信。好的。谢谢这和我想的一样,但不需要确定。@DavidHeffernan:安全模型不会阻止应用程序B查找应用程序A的HWND(较低权限的进程对较高权限的HWND具有只读访问权限)。所以我怀疑OP的代码只是以错误的方式搜索HWND,但他没有显示他的代码。但是,UIPI将阻止
WM_COPYDATA
消息,除非应用程序A调用
ChangeWindowMessageFilter/Ex()
以允许该消息。但是你是对的,比起使用
WM\u COPYDATA
,IPC机制确实存在。