4.14 創(chuàng)建Mapping對象進行共享數據[注意]

說明

這里包含兩個程序,名字可看文章標題和瀏覽器標題

第一個代碼是第一個參數的,第二個代碼是第二個程序的

效果圖示兩個程序先后執(zhí)行的效果,先執(zhí)行程序一,再執(zhí)行程序二

效果

源碼

#include

#include

#include

#define BUF_SIZE 256

LPTSTR szName = TEXT("SharedFileMappingObject");

LPTSTR szMsg = TEXT("這是另一個進程的信息");

int main(int argc, PCHAR argv[]){

HANDLE hMapFile;//文件映射句柄

LPTSTR pBuf;//共享數據緩沖區(qū)指針

//創(chuàng)建命名的文件映射,不代表硬盤上的文件

hMapFile = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, BUF_SIZE, szName);

if (hMapFile == NULL || hMapFile == INVALID_HANDLE_VALUE){

printf("創(chuàng)建文件映射錯誤: %d\n", GetLastError());

return 1;

}

//創(chuàng)建視圖

pBuf = (LPTSTR)MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, BUF_SIZE);

if (pBuf == NULL){

printf("創(chuàng)建文件映射視圖錯誤: %d\n", GetLastError());

return 2;

}

//將共享數據賦值到文件映射中,如果允許時輸入了參數則使用參數

if (argc == 1){

CopyMemory((PVOID)pBuf, szMsg, strlen(szMsg));

} else{

DWORD dwCopyLen = (strlen(argv[1])< BUF_SIZE) ? strlen(argv[1]) : BUF_SIZE;

CopyMemory((PVOID)pBuf, argv[1], dwCopyLen);

}

printf("運行程序,完成運行后,按任意鍵退出\n");

getchar();

//取消映射,退出

UnmapViewOfFile(pBuf);

CloseHandle(hMapFile);

}

源碼

#include

#include

#define BUF_SIZE 256

TCHAR szName[] = TEXT("SharedFileMappingObject");//映射的名字要正確

int main(int argc, PCHAR argv[]){

HANDLE hMapFile;//映射對象句柄

LPTSTR pBuf;//字符串緩存指針

hMapFile = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, szName);//打開文件映射對象

if (hMapFile == NULL){

printf("打開文件映射失敗: %d\n", GetLastError());

return 1;

}

//映射

pBuf = MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, BUF_SIZE);

if (pBuf == NULL){

printf("文件映射視圖錯誤: %d\n", GetLastError());

return 2;

}

//彈出得到的共享數據

MessageBox(NULL, pBuf, TEXT("映射內容為"), MB_OK);

//取消映射,退出

UnmapViewOfFile(pBuf);

CloseHandle(hMapFile);

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末缤弦,一起剝皮案震驚了整個濱河市尸闸,隨后出現(xiàn)的幾起案子疆栏,更是在濱河造成了極大的恐慌,老刑警劉巖辞嗡,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件湿硝,死亡現(xiàn)場離奇詭異,居然都是意外死亡囊骤,警方通過查閱死者的電腦和手機猿涨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門握童,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人叛赚,你說我怎么就攤上這事澡绩。” “怎么了俺附?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵肥卡,是天一觀的道長。 經常有香客問我事镣,道長步鉴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任璃哟,我火速辦了婚禮氛琢,結果婚禮上,老公的妹妹穿的比我還像新娘随闪。我一直安慰自己阳似,他們只是感情好,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布铐伴。 她就那樣靜靜地躺著撮奏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪当宴。 梳的紋絲不亂的頭發(fā)上畜吊,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天,我揣著相機與錄音户矢,去河邊找鬼玲献。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的青自。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼驱证,長吁一口氣:“原來是場噩夢啊……” “哼延窜!你這毒婦竟也來了?” 一聲冷哼從身側響起抹锄,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤逆瑞,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后伙单,有當地人在樹林里發(fā)現(xiàn)了一具尸體获高,經...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年吻育,在試婚紗的時候發(fā)現(xiàn)自己被綠了念秧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡布疼,死狀恐怖摊趾,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情游两,我是刑警寧澤砾层,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站贱案,受9級特大地震影響肛炮,放射性物質發(fā)生泄漏。R本人自食惡果不足惜宝踪,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一侨糟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧肴沫,春花似錦粟害、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至站蝠,卻和暖如春汰具,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背菱魔。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工留荔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓聚蝶,卻偏偏與公主長得像杰妓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子碘勉,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內容

  • 說明 第一個程序是服務,第二個程序控制服務 好像需要管理員權限,不然啟動失敗.. 效果 服務程序 名字是 MiSa...
    f675b1a02698閱讀 666評論 0 0
  • 系統(tǒng)與網絡編程 select函數 select和pselect多用于I/O操作巷挥,他們見識多個文件描述符的集合,判斷...
    I踏雪尋梅閱讀 609評論 0 1
  • 教程一:視頻截圖(Tutorial 01: Making Screencaps) 首先我們需要了解視頻文件的一些基...
    90后的思維閱讀 4,695評論 0 3
  • 串口操作 串口操作需要的頭文件 #include /*標準輸入輸出定義*/ #include /*標準函數庫定...
    旅行家John閱讀 1,316評論 0 3
  • 剛下班回到家里验靡,很累很累倍宾,我不喜歡上班,誰喜歡上班呢胜嗓?又累又苦高职,中途出錯還要接受boss的無情批判,但每天上班讓我...
    溫水煮醬閱讀 85評論 0 1