程序與系統服務之間用event通訊

2021-05-22 21:41:35 字數 555 閱讀 3661

一般來說,程序與程序間通訊的通會採用以下**

程序ahandle hevent;

hevent=createevent(null, true, false, "myevent");

dword dwrtn = waitforsingleobject(g_hevent, 60*1000);   //等1分鐘

if (dwrtn == wait_object_0)  

程序bhandle hevent=openevent(event_modify_state,false,"myevent");

setevent(hevent);  //給程序a發事件訊號

但如果程序a換成系統服務時,程序b的openevent就會返回0,getlasterror()返回5,意思是拒絕訪問。

原來在服務中建立的event繼續了服務的許可權,在程序b中不能用event_modify_state開啟,只能用

synchronize開啟,可是用synchronize開啟又不能執行setevent。

解決的辦法是利用createevent的第乙個引數指定乙個合適的許可權就行了。

Linux系統伺服器與程序管理

顯示 啟動和停止服務 在系統執行中可以使用systemctl顯示 啟動 停止和重啟指定的服務 指令作用 systemctl start 服務名 開啟服務 systemctl stop 服務名 關閉服務 systemctl restart 服務名 重啟服務 systemctl status 服務名 顯...

尋找系統中埠與程序之間的關聯

是否想知道該程序在你的系統中開了什麼埠?一 根據程序查埠號 首先在開始選單的 執行 框中輸入 cmd.exe 進入命令提示符視窗,先鍵入 tasklist 命令將列出系統正在執行的程序列表,把你要查的程序所對應的 pid 號記下或複製。如下圖 需要注意的是,相同的程序 影象名 每次執行的 pid 號...

尋找系統中埠與程序之間的關聯

是否想知道該程序在你的系統中開了什麼埠?一 根據程序查埠號 首先在開始選單的 執行 框中輸入 cmd.exe 進入命令提示符視窗,先鍵入 tasklist 命令將列出系統正在執行的程序列表,把你要查的程序所對應的 pid 號記下或複製。如下圖 需要注意的是,相同的程序 影象名 每次執行的 pid 號...