利用windows api實現程序通訊(命名管道)

2021-08-30 21:45:39 字數 1177 閱讀 2421

服務端:

1.使用api函式createnamedpipe建立與命名管道的連線。

2.使用api函式connectnamedpipe等待客戶端的連線。(可用這個函式將乙個管道換成同另乙個客戶連線,也就是可以重複呼叫該函式,但必須用disconnectnamedpipe函式斷開之前程序的連線)

3.使用api函式writefile和readfile分別向客戶端傳送資料或從客戶端接收資料。

4.使用api函式closehandle關閉開啟的命名管道會話。

客戶端:

1.使用api函式waitnamedpipe等待乙個命名管道例項供自已使用。

2.使用api函式createfile建立與命名管道的連線。

3.使用api函式writefile和readfile分別向伺服器端傳送資料或從伺服器端接收資料。

4.使用api函式closehandle關閉開啟的命名管道會話。

服務端

#include #include using namespace std;

int main()

cout<<"wait for client"<< endl;

//阻塞等待客戶端來連線

if(!connectnamedpipe(hpipe,null))

cout << "client connect succ" << endl;

while(1)

buffer[num]=0;

cout<<"read succ:"《客戶端

#include #include using namespace std;

int main(int argc, char *argv)

cout<<"wait name succ"

if(hpipe==invalid_handle_value)

cout<<"open pipe and connect succ"

while(1)

cout<<"send ok...."<}

closehandle(hpipe);

return 0;

}

利用Windows API實現螢幕取色器

一 效果圖 為了實現這個取色器,在網上查了很多關於取色器的資料,起先是通過winform怎麼製作,後來發現大多數資料都呼叫了windows api,但自己以前從來沒有用過這方面的,又從網上下了windows api 來看,經過多次實踐終於做出了現在這個效果,先感謝下網上那些提供資料的朋友。效果,如下...

C 利用委託和ProgressBar實現進度條顯示

專案需要,處理資料時間較長,有顯示進度需求。using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.li...

利用Windows API判斷檔案共享鎖定狀態

一 概述 鎖是作業系統為實現資料共享而提供的一種安全機制,它使得不同的應用程式,不同的計算機之間可以安全有效地共享和交換資料。要保證安全有效地操作共享資料,必須在相應的操作前判斷鎖的型別,然後才能確定資料是否可讀或可寫,從而為開發出健壯的程式提供切實依據。同樣,在windows中,檔案可以共享模式開...