91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 22.03MB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2023-06-18
  • 語言: C/C++
  • 標(biāo)簽: 匿名管道??

資源簡(jiǎn)介

C++匿名管道詳解及簡(jiǎn)單案例(基于VS2013),包括父進(jìn)程和子進(jìn)程的創(chuàng)建以及各行代碼的詳細(xì)注釋

資源截圖

代碼片段和文件信息

#include?“stdafx.h“
#include?“windows.h“
#include?
using?namespace?std;

HANDLE?hRead?hWrite;
void?ReadMsg()
{
char?buf1[512];
DWORD?dwRead;
if?(!ReadFile(hRead?buf1?512?&dwRead?NULL))
{
cout<<“讀取數(shù)據(jù)失敗!“;
return;
}
else
{
cout?< system(“pause“);
}
}

void?WriteMsg()
{
char?buf[100];
cout?< cin?>>?buf;
DWORD?dwWrite;
if?(!WriteFile(hWrite?buf?strlen(buf)?&dwWrite?NULL))
{
cout?< return;
}
else
cout?<}

int?main(int?argc?char*?argv[])
{

SECURITY_ATTRIBUTES?sa;??//定義一個(gè)安全結(jié)構(gòu)體類型的變量Sa1
sa.bInheritHandle?=?TRUE;//讓子進(jìn)程可以繼承父進(jìn)程創(chuàng)建的匿名管道的讀寫句柄
sa.lpSecurityDescriptor?=?NULL;//讓系統(tǒng)為創(chuàng)建的匿名管道賦予默認(rèn)的安全描述符
sa.nLength?=?sizeof(SECURITY_ATTRIBUTES);//得到結(jié)構(gòu)體(SECURITY_ATTRIBUTES)的長(zhǎng)度
if?(!CreatePipe(&hRead?&hWrite?&sa?0))//判斷創(chuàng)建匿名管道是否成功
{
cout?< return?0;
}
else
cout?< //如果創(chuàng)建匿名管道成功,就啟動(dòng)子進(jìn)程,并將匿名管道的讀寫句柄傳遞給子進(jìn)程
STARTUPINFO?sui;//創(chuàng)建子進(jìn)程的函數(shù)需要的一個(gè)結(jié)構(gòu)體類型的值
PROCESS_INFORMATION?pi;
ZeroMemory(&sui?sizeof(STARTUPINFO));//將其余的成員全部置零,避免造成不好的影響
sui.cb?=?sizeof(STARTUPINFO);//cb用來存放結(jié)構(gòu)體變量STARTUPINFO的長(zhǎng)度
sui.dwFlags?=?STARTF_USESTDHANDLES;//標(biāo)志成員,表示當(dāng)前STARTUPINFO結(jié)構(gòu)體的標(biāo)準(zhǔn)輸入,標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤句柄有用
sui.hStdInput?=?hRead;
sui.hStdOutput?=?hWrite;//將子進(jìn)程的標(biāo)準(zhǔn)輸入輸出句柄分別設(shè)置為管道的讀、寫句柄
sui.hStdError?=?GetStdHandle(STD_ERROR_HANDLE);
sui.wShowWindow?=?SW_SHOW;?//隱藏命令行窗口
sui.dwFlags?=?STARTF_USESHOWWINDOW?|?STARTF_USESTDHANDLES;
WriteMsg();
if?(!CreateProcess(NULL?“child.exe“?NULL?NULL
TRUE?0?NULL?NULL?&sui?&pi))//創(chuàng)建子進(jìn)程(十個(gè)參數(shù))
{
CloseHandle(hRead);
CloseHandle(hWrite);//關(guān)閉句柄,將內(nèi)核對(duì)象的使用計(jì)數(shù)減少1,這樣當(dāng)操作系統(tǒng)發(fā)現(xiàn)內(nèi)核對(duì)象的使用計(jì)數(shù)為0時(shí),將清除內(nèi)核對(duì)象。
hRead?=?NULL;
hWrite?=?NULL;
cout?< return?0;
}
else
{
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}


Sleep(200);
ReadMsg();
return?0;
}

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-03-09?09:04??匿名管道程序\
?????目錄???????????0??2018-03-09?09:02??匿名管道程序\Anonymous?Pipe\
?????目錄???????????0??2018-03-09?09:02??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\
?????文件????????2274??2018-03-09?08:49??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Anonymous?Pipe.cpp
?????文件????????4548??2018-03-09?08:32??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Anonymous?Pipe.vcxproj
?????文件????????1321??2018-03-09?08:31??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Anonymous?Pipe.vcxproj.filters
?????目錄???????????0??2018-03-09?08:55??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Debug\
?????文件?????????155??2018-03-09?08:55??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Debug\Anonymous?Pipe.log
?????文件??????206943??2018-03-09?08:55??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Debug\Anonymous?Pipe.obj
?????文件?????1703936??2018-03-09?08:32??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Debug\Anonymous?Pipe.pch
?????目錄???????????0??2018-03-09?08:55??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Debug\Anonymous?Pipe.tlog\
?????文件?????????209??2018-03-09?08:55??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Debug\Anonymous?Pipe.tlog\Anonymous?Pipe.lastbuildstate
?????文件???????30938??2018-03-09?08:55??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Debug\Anonymous?Pipe.tlog\CL.read.1.tlog
?????文件????????1984??2018-03-09?08:55??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Debug\Anonymous?Pipe.tlog\CL.write.1.tlog
?????文件????????1838??2018-03-09?08:55??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Debug\Anonymous?Pipe.tlog\cl.command.1.tlog
?????文件????????1814??2018-03-09?08:55??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Debug\Anonymous?Pipe.tlog\link.command.1.tlog
?????文件????????3544??2018-03-09?08:55??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Debug\Anonymous?Pipe.tlog\link.read.1.tlog
?????文件????????1066??2018-03-09?08:55??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Debug\Anonymous?Pipe.tlog\link.write.1.tlog
?????文件???????11813??2018-03-09?08:32??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Debug\stdafx.obj
?????文件??????764928??2018-03-09?08:55??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Debug\vc120.idb
?????文件??????487424??2018-03-09?08:55??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\Debug\vc120.pdb
?????文件????????1559??2018-03-09?08:31??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\ReadMe.txt
?????文件???????66560??2018-03-09?09:02??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\child.exe
?????文件?????????220??2018-03-09?08:31??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\stdafx.cpp
?????文件?????????234??2018-03-09?08:31??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\stdafx.h
?????文件?????????236??2018-03-09?08:31??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe\targetver.h
?????文件????32702464??2018-03-09?09:02??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe.sdf
?????文件?????????988??2018-03-09?08:31??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe.sln
?????文件???????19968??2018-03-09?09:02??匿名管道程序\Anonymous?Pipe\Anonymous?Pipe.v12.suo
?????目錄???????????0??2018-03-09?08:36??匿名管道程序\Anonymous?Pipe\Debug\
?????文件???????74752??2018-03-09?08:55??匿名管道程序\Anonymous?Pipe\Debug\Anonymous?Pipe.exe
............此處省略38個(gè)文件信息

評(píng)論

共有 條評(píng)論

相關(guān)資源