国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術(shù)開發(fā)教程 > 詳細頁面

控制臺應用程序的定向輸出

控制臺應用程序的定向輸出

更新時間:2019-09-02 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

北京機械工業(yè)學院研00級 冉林倉

在Windows編程中,并非每一個應用程序都需要一個圖形用戶界面(GUI),很多情況下,我們可以編寫一個控制臺應用程序,這樣程序更小,加載更快,傳輸時間也短,同時也絲毫不犧牲程序應有的功能。這種程序特別適合那些在后臺運行的程序,比如壓縮、殺毒、上傳下載等等。如果我們的確需要在GUI執(zhí)行這些程序,以完成某些比如類似于磁盤格式化的功能,我們可以在GUI程序中創(chuàng)建一個新的進程,調(diào)用這些已有的控制臺應用程序,幫助完成這些功能。然而令人失望的是,我們每次加載這些控制臺應用程序時,圖形程序總會在加載的過程中產(chǎn)生一個不受歡迎的控制臺窗口,從而使我們圖形用戶界面顯得不倫不類,當用戶看到這個界面時,尤其看到我們加載的是別人編寫的或者是操作系統(tǒng)提供的控制臺應用程序,就會對我們產(chǎn)品的可信度表示懷疑,甚至大打折扣。因此我們必須竭力屏蔽這個窗口不讓它顯示出來,同時我們還需要把程序運行的結(jié)果定向到一個文本文件中,控制臺程序的輸入部分工作可以由交給GUI來完成。就像Visual C++編譯一個程序一樣,由MsDev.exe(GUI程序)負責加載編譯器cl.exe(控制臺程序)進行后臺編譯,然后把編譯的結(jié)果定向到一個文件,并把編譯結(jié)果輸出到前臺圖形界面的一個窗口中,而用戶在編譯的過程中根本不會察覺這個過程,
C++為應用程序加載提供了多個函數(shù),比如_spawnlp、ShellExecute、system、_exec等函數(shù),這些函數(shù)除了system之外,都無法實現(xiàn)控制臺程序的輸出定向,而system函數(shù)的缺點是會導致一個控制臺窗口出現(xiàn),如果計算機配置是一個全屏命令提示行模式,它就會把你的GUI程序直接切換到全屏控制臺窗口,顯然這是一個很不體面的解決方案。
_spawnlp( _P_WAIT,"netstat","-e","-s","-n","r","a","-p","ip",NULL);
::ShellExecute(NULL,NULL,"Ping.exe","168.192.0.1 >1.txt",NULL,SW_SHOWNORMAL);
system("Format a:/q >NULL");
_execlp("expand.exe","Source.cab","-f:m*.dll",c:\winnt\sytem32",NULL );
能夠成功實現(xiàn)控制臺應用程序輸出定向的方法是調(diào)用CreateProcess函數(shù)。通過這個函數(shù)我們可以實現(xiàn)創(chuàng)建一個進程,能夠隱藏控制臺窗口,并把控制臺窗口的輸出結(jié)果定向輸出到一個文本文件。
在Windows 2000環(huán)境下,CreateProcess函數(shù)提供了一個名叫CREATE_NO_WINDOW的標志,這個標志能夠成功阻止控制臺窗口出現(xiàn),然而在Windows 98環(huán)境下,這個標志不被支持。為了實現(xiàn)兩種環(huán)境下隱藏控制臺窗口,我們可以通過設(shè)置STARTINFO結(jié)構(gòu)成員并把它傳遞給CreateProcess函數(shù)來達到這個目的。
下面是程序?qū)崿F(xiàn)部分的界面和部分代碼:

UpdateData();
BYTE b1,b2,b3,b4;
if(m_IPAddressCtrl.GetAddress(b1,b2,b3,b4)<4){ file://獲得IP地址的內(nèi)容,不能空缺
m_IPAddressCtrl.SetFocus ();
return;
}
char cmdLine[MAX_PATH];
wsprintf(cmdLine,"Ping.exe %d.%d.%d.%d",b1,b2,b3,b4);
SECURITY_ATTRIBUTES sa={sizeof(sa),NULL,TRUE};
SECURITY_ATTRIBUTES *psa=NULL;
DWORD dwShareMode=FILE_SHARE_READ|FILE_SHARE_WRITE;
OSVERSIONINFO osVersion={0};
osVersion.dwOSVersionInfoSize =sizeof(osVersion);
if(GetVersionEx(&osVersion)){
if(osVersion.dwPlatformId ==VER_PLATFORM_WIN32_NT){
psa=&sa;
dwShareMode|=FILE_SHARE_DELETE;
}
}
file://根據(jù)版本設(shè)置共享模式和安全屬性
HANDLE hConsoleRedirect=CreateFile(
"c:\\NetStatus.txt",
GENERIC_WRITE,
dwShareMode,
psa,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
ASSERT(hConsoleRedirect!=INVALID_HANDLE_VALUE);
STARTUPINFO s={sizeof(s)};
s.dwFlags =STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;
file://使用標準柄和顯示窗口
s.hStdOutput =hConsoleRedirect;//將文件作為標準輸出句柄
s.wShowWindow =SW_HIDE;//隱藏控制臺窗口
PROCESS_INFORMATION pi={0};
if(CreateProcess(NULL,cmdLine,NULL,NULL,TRUE,NULL,NULL,NULL,&s,&pi)){
file://創(chuàng)建進程,執(zhí)行Ping程序,測試網(wǎng)絡(luò)是否連通
WaitForSingleObject(pi.hProcess ,INFINITE);
file://等待進程執(zhí)行完畢
CloseHandle(pi.hProcess );
CloseHandle(pi.hThread );
file://關(guān)閉進程和主線程句柄
}
CloseHandle(hConsoleRedirect);
file://關(guān)閉控制臺定向輸出文件句柄
CFile myFile("c:\\NetStatus.txt",CFile::modeRead );
ASSERT (myFile.m_hFile!=NULL);  
char * pszNetStatus=new char[myFile.GetLength ()+1];
ZeroMemory(pszNetStatus,myFile.GetLength ()+1);
myFile.Read (pszNetStatus,myFile.GetLength ());
myFile.Close ();
file://打開文件,把它讀到一個字符緩沖區(qū)
DeleteFile("c:\\NetStatus.txt");
file://刪除臨時文件
m_EditNetStatus.SetWindowText (pszNetStatus);
file://把控制臺程序輸出信息寫到編輯框中
delete pszNetStatus;
本程序在Windows XP 環(huán)境下 用Microsoft Visual Studio.Net Beta 2調(diào)試通過,由于本程序沒有使用visual c++ .net任何新的特性,利用上述代碼,你完全可以用Visual C++ 6實現(xiàn)Windows2000 和Windows98環(huán)境下的控制臺輸出定向。 

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        制服丝袜av成人在线看| 成人av先锋影音| 久久激情五月婷婷| 欧美亚洲综合另类| 亚洲成人手机在线| 欧美一级夜夜爽| 国产在线视视频有精品| 久久精品免费在线观看| 成人午夜av电影| 亚洲嫩草精品久久| 欧美一区二区三区视频免费| 精品在线观看视频| 亚洲人午夜精品天堂一二香蕉| 精品视频在线免费观看| 久久99热狠狠色一区二区| 国产精品日日摸夜夜摸av| 欧美日韩一级二级| 成人av网址在线| 日本在线观看不卡视频| 国产女人18毛片水真多成人如厕| 91麻豆免费观看| 久久av老司机精品网站导航| 亚洲视频狠狠干| 欧美mv日韩mv| 色老汉一区二区三区| 国产精品资源网| 日韩福利电影在线| 一区二区三区在线观看动漫| 精品国产免费人成电影在线观看四季| 色素色在线综合| 国产精品一区在线观看你懂的| 性久久久久久久久久久久| 一区二区中文视频| 亚洲精品一区二区三区在线观看| caoporn国产一区二区| 裸体健美xxxx欧美裸体表演| 亚洲激情av在线| 日本一区二区三区国色天香| 欧美一区二区在线视频| 91国产免费观看| 成人爽a毛片一区二区免费| 美日韩一区二区三区| 亚洲另类春色国产| 亚洲视频狠狠干| 日韩一区有码在线| ㊣最新国产の精品bt伙计久久| 国产日韩亚洲欧美综合| 欧美va在线播放| 日韩欧美一级在线播放| 日韩欧美国产一区在线观看| 欧美午夜片在线看| 欧美视频中文字幕| 在线免费观看日韩欧美| 99国产麻豆精品| 91视频免费播放| 欧美最猛黑人xxxxx猛交| 91黄色激情网站| 欧美日韩一区二区三区在线| 欧美在线free| 欧美三区在线观看| 91 com成人网| 精品国产a毛片| www亚洲一区| 国产欧美日韩在线看| 国产午夜精品一区二区三区四区| 国产丝袜在线精品| 中文字幕在线一区免费| 一区二区三区中文字幕精品精品| 国产精品全国免费观看高清| 亚洲免费观看视频| 亚洲va欧美va人人爽| 日本va欧美va欧美va精品| 国模冰冰炮一区二区| 成人激情午夜影院| 精品婷婷伊人一区三区三| 日韩视频免费观看高清在线视频| 久久无码av三级| 国产精品不卡视频| 日韩电影在线免费| 高清不卡一区二区在线| 欧美在线看片a免费观看| 欧美日韩精品一区二区三区| 久久综合成人精品亚洲另类欧美| 国产精品视频免费| 天堂久久久久va久久久久| 国内外成人在线| 91国在线观看| 国产欧美视频在线观看| 亚瑟在线精品视频| 国产精品1区2区3区在线观看| 色天天综合色天天久久| 日韩女优毛片在线| 夜夜精品视频一区二区| 国产精品66部| 欧美精品一二三四| 国产精品国产三级国产普通话蜜臀| 一区二区三区在线播放| 韩国精品在线观看| 欧美日韩综合一区| 国产无遮挡一区二区三区毛片日本| 一区二区三区高清在线| 国产一区二区美女诱惑| 欧美日韩精品一区二区三区 | 免费精品视频在线| www.av精品| 2023国产精品自拍| 亚洲成在人线在线播放| 99久久久国产精品| 久久精品亚洲乱码伦伦中文 | 在线精品视频小说1| 国产视频亚洲色图| 免费高清在线一区| 欧美午夜寂寞影院| 国产精品久久久久久妇女6080| 免费日韩伦理电影| 欧美裸体bbwbbwbbw| 有坂深雪av一区二区精品| 粉嫩在线一区二区三区视频| 精品久久一区二区| 日韩av高清在线观看| 欧美亚洲综合一区| 一区二区三区美女视频| eeuss鲁片一区二区三区在线观看| 久久老女人爱爱| 国产一区亚洲一区| 精品国精品国产| 六月婷婷色综合| 欧美一区二区福利视频| 日韩不卡手机在线v区| 欧美日韩精品久久久| 樱桃视频在线观看一区| 一本到三区不卡视频| 亚洲精品欧美专区| 欧美视频在线一区二区三区| 亚洲高清久久久| 欧美一卡二卡在线观看| 久久疯狂做爰流白浆xx| 欧美精品一区二| 国产成a人无v码亚洲福利| 国产精品你懂的| 懂色中文一区二区在线播放| 亚洲国产高清不卡| 99久久免费精品| 亚洲精品国产一区二区精华液| 99re成人精品视频| 性做久久久久久久久| 精品精品欲导航| 成人丝袜高跟foot| 一区二区三区中文字幕精品精品 | 日韩黄色片在线观看| 91精品中文字幕一区二区三区| 日本美女一区二区| 精品88久久久久88久久久| 国产成人8x视频一区二区| 亚洲卡通动漫在线| 日韩欧美国产午夜精品| 高清不卡一区二区在线| 一区二区三区高清在线| 日韩欧美一区中文| 成人免费观看视频| 日韩高清中文字幕一区| 国产精品三级久久久久三级| 欧美日韩高清一区二区不卡| 国产一区二区三区视频在线播放| 亚洲图片你懂的| 26uuu精品一区二区| 一本色道**综合亚洲精品蜜桃冫| 午夜av区久久| 最近中文字幕一区二区三区| 制服丝袜中文字幕亚洲| 粉嫩嫩av羞羞动漫久久久| 视频一区二区三区入口| 中文字幕欧美日韩一区| 91精品视频网| 成人动漫一区二区| 日本欧美在线观看| 亚洲精品你懂的| 国产三区在线成人av| 欧美一级久久久久久久大片| 成人午夜在线视频| 久久国产生活片100| 亚洲午夜影视影院在线观看| 国产色产综合色产在线视频| 欧美一二三四区在线| 欧美日韩一级黄| 91色综合久久久久婷婷| 懂色av一区二区在线播放| 久久精品国产77777蜜臀| 亚洲国产aⅴ天堂久久| 亚洲欧美日韩小说| 中文字幕在线一区| 欧美激情综合五月色丁香小说| 日韩欧美你懂的| 欧美一区二区三级| 欧美一区午夜视频在线观看| 欧美性xxxxxxxx| 欧美伊人久久大香线蕉综合69| 国产成人高清视频| 韩国视频一区二区| 久久成人麻豆午夜电影|