【发布时间】:2013-01-20 22:41:45
【问题描述】:
我需要一种用于 2 个 Windows 应用程序(都在同一台机器上)的 IPC 方法。 如果我的应用程序是基于 CLI + windows 服务,哪一个更好。
附:我已经在单独的线程中实现了目标进程(CLI 应用程序)中的消息队列。并通过PostThreadMessage 从源进程(GUI 应用程序)发布我的消息。
所以。当两个应用程序都由同一个用户运行时 - 一切正常。当我在本地服务用户下通过任务计划程序运行目标应用程序时,我收到 1444 错误代码(错误的线程 ID)。
有什么想法吗?
附言来自 MSDN
此线程必须具有 SE_TCB_NAME 权限才能将消息发布到属于具有相同本地唯一标识符 (LUID) 的进程但位于不同桌面的线程。否则,函数将失败并返回 ERROR_INVALID_THREAD_ID。
此线程必须与调用线程属于同一个桌面或属于具有相同 LUID 的进程。否则,函数将失败并返回 ERROR_INVALID_THREAD_ID。
所以。我应该确定如何将SE_TCB_NAME 从我的源进程设置到我的线程。
【问题讨论】:
标签: winapi ipc command-line-interface