我需要單向IPC方法來處理2個Windows應用程序(都在同一臺機器上)。 如果我的應用程序是基於CLI的+ windows服務,哪一個更好。什麼Windows IPC方法更適合短命令?
P.S.我在單獨的線程中在目標進程(CLI應用程序)中實現了消息隊列。並通過PostThreadMessage
從源程序(GUI應用程序)發佈我的消息。
所以。當兩個應用程序都從同一個用戶運行時 - 一切正常。當我通過本地服務用戶下的任務計劃程序運行我的目標應用程序時,我收到了1444錯誤代碼(錯誤的線程ID)。
任何想法?
P.P.S.來自MSDN
此線程必須具有SE_TCB_NAME權限才能將消息發佈到屬於具有相同本地唯一標識符(LUID)但位於不同桌面的進程的線程中。否則,該函數將失敗並返回ERROR_INVALID_THREAD_ID。
此線程必須屬於與調用線程相同的桌面或具有相同LUID的進程。否則,該函數將失敗並返回ERROR_INVALID_THREAD_ID。
所以。我應該確定如何從我的源程序中將SE_TCB_NAME
設置爲我的主題。
謝謝,這是相當有趣的解決方案。我知道WM_COPYDATA,但從來沒有想過隱藏的窗口... – denys