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

  • 大小: 265KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-07
  • 語言: 其他
  • 標(biāo)簽:

資源簡介

雙管道(CreatePipe)與cmd.exe進(jìn)程間通信的有關(guān)問題 完美解決代碼 ,發(fā)布啦

資源截圖

代碼片段和文件信息

//?controlDOS.cpp?:?Defines?the?entry?point?for?the?console?application.
//

#include?“stdafx.h“
#include?
#include?
#define?SEND_BUFF_SIZE?1024

//實現(xiàn)去除執(zhí)行結(jié)果中的?命令字符串+“\n“
void?print(char?*cmdstr)
{
while(*((char*)cmdstr++)!=‘\n‘);
printf(cmdstr);
}



int?main()
{
HANDLE?hReadPipe1hWritePipe1hReadPipe2hWritePipe2;?//四個HANDLE?用來創(chuàng)建兩個管道
CHAR?Buff[SEND_BUFF_SIZE]?=?{0};
????CHAR?sendBuff[SEND_BUFF_SIZE]?=?(“dir?\n“);

//安全屬性的東西
????SECURITY_ATTRIBUTES?sa;
????sa.nLength=sizeof(sa);
????sa.lpSecurityDescriptor=0;
????sa.bInheritHandle=true;????
????int?ret;

????if(!CreatePipe(&hReadPipe1&hWritePipe1&sa0))//創(chuàng)建兩個匿名管道???導(dǎo)向DOS輸入輸出通道
????{
????????return?-1;
????}
????if(!CreatePipe(&hReadPipe2&hWritePipe2&sa0))
????{
????????return?-1;
????}

//啟動信息
????STARTUPINFO?si;
????ZeroMemory(&sisizeof(si));
????//GetStartupInfo(&si);
????si.dwFlags?=?STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;
????si.wShowWindow?=?SW_HIDE;
????si.hStdInput?=?hReadPipe2;
????si.hStdOutput?=?si.hStdError?=?hWritePipe1;

????char?cmdLine[256]?=?{0};
????GetSystemDirectory(cmdLinesizeof(cmdLine));
????strcat(cmdLine?(“\\cmd.exe“));

????PROCESS_INFORMATION?ProcessInformation;
????if(CreateProcess(cmdLineNULLNULLNULLTRUE0NULLNULL&si&ProcessInformation)?==?0)
????{
????????return?-1;
????}


????unsigned?long?lBytesReadlBytesWrite;//讀寫數(shù)量存放變量

while(TRUE){
lBytesRead=0;
ZeroMemory(Buffsizeof(Buff));
ret=PeekNamedPipe(hReadPipe1BuffSEND_BUFF_SIZE&lBytesRead00);//管道是否有數(shù)據(jù)可讀
if(lBytesRead)????
{
????????????//第一次可以讀到cmd的初始化信息
memset(Buff?0?sizeof(Buff));
????????????ret=ReadFile(hReadPipe1BuffSEND_BUFF_SIZE&lBytesRead0);//讀取管道里的數(shù)據(jù)
????????????//如果讀到數(shù)據(jù),則對數(shù)據(jù)進(jìn)行下一步處理。。。。。。。??
//printf(Buff);
print(Buff);
}
else{
//解決方案??估計windows是以“\r\n“結(jié)束的吧,所以要在命令執(zhí)行后,顯示完全后寫入這個
/***********************************************************/
WriteFile(hWritePipe2?“\r\n“2&lBytesWrite0);
Sleep(100);
ret=ReadFile(hReadPipe1BuffSEND_BUFF_SIZE&lBytesWrite0);//讀取管道里的數(shù)據(jù)
/***********************************************************/


//讀入輸入數(shù)據(jù)??以回車結(jié)束
char?ch;
ZeroMemory(sendBuffsizeof(sendBuff));
int?count=0;
while((ch=getchar())!=‘\n‘)
{
sendBuff[count]=ch;
count++;
}
//加入回車
strcat(sendBuff“\r\n“);
//寫入數(shù)據(jù),執(zhí)行命令
if(!WriteFile(hWritePipe2?sendBuffsizeof(sendBuff)&lBytesWrite0))?????????????????????
{
printf(“WriteFile?Error!!\r\n“);
return?-1;
}
//延時,等待程序執(zhí)行
Sleep(100);
}
}
????
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2820??2013-11-17?15:53??controlDOS\controlDOS.cpp

?????文件???????4329??2013-11-16?18:42??controlDOS\controlDOS.dsp

?????文件????????528??2013-11-16?16:52??controlDOS\controlDOS.dsw

?????文件??????33792??2013-11-16?16:56??controlDOS\controlDOS.ncb

?????文件??????48640??2013-11-16?16:56??controlDOS\controlDOS.opt

?????文件???????1761??2013-11-17?15:55??controlDOS\controlDOS.plg

?????文件?????172092??2013-11-16?16:56??controlDOS\Debug\controlDOS.exe

?????文件?????176516??2013-11-16?16:56??controlDOS\Debug\controlDOS.ilk

?????文件??????44630??2013-11-16?16:55??controlDOS\Debug\controlDOS.obj

?????文件?????190880??2013-11-16?16:53??controlDOS\Debug\controlDOS.pch

?????文件?????345088??2013-11-16?16:55??controlDOS\Debug\controlDOS.pdb

?????文件???????1767??2013-11-16?16:53??controlDOS\Debug\StdAfx.obj

?????文件?????132096??2013-11-16?16:56??controlDOS\Debug\vc60.idb

?????文件?????233472??2013-11-16?16:55??controlDOS\Debug\vc60.pdb

?????文件???????1232??2013-11-16?16:52??controlDOS\ReadMe.txt

?????文件??????40960??2013-11-17?15:55??controlDOS\Release\controlDOS.exe

?????文件????????297??2013-11-16?16:52??controlDOS\StdAfx.cpp

?????文件????????667??2013-11-16?16:52??controlDOS\StdAfx.h

?????目錄??????????0??2013-11-16?16:55??controlDOS\Debug

?????目錄??????????0??2013-11-17?15:55??controlDOS\Release

?????目錄??????????0??2013-11-17?15:55??controlDOS

-----------?---------??----------?-----??----

??????????????1431567????????????????????21


評論

共有 條評論

相關(guān)資源