青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

無我

讓內(nèi)心永遠燃燒著偉大的光明的精神之火!
靈活的思考,嚴(yán)謹(jǐn)?shù)膶崿F(xiàn)
豪邁的氣魄、頑強的意志和周全的思考

system、WinExec、ShellExecute、CreateProcess


轉(zhuǎn)自http://www.cnblogs.com/project/archive/2009/10/22/1588015.html

關(guān)于三個SDK函數(shù): WinExec, ShellExecute,CreateProcess 的其他注意事項:

【1】定義頭文件
必須定義以下頭文件:
#include <windows.h>

【2】定義路徑
C++中所表示的路徑要用 " \\ "而不是平常所用的" \ ",所以以上三個函數(shù)表示路徑都為:disk:\\Directory\\...\\File name

WinExec("D:\\Program Files\\Test\\Test.exe",SW_SHOWMAXIMIZED);
ShellExecute(NULL,"open","C:\\Test.txt",NULL,NULL,SW_SHOWNORMAL);

 

一、system
    int system( const char *command );
    你可以傳入一命令,啟動某個程序。如"ping www.vccode.com", "YourExe"等等。不過這里有幾點要值得注意:
    (1)、他不會立即返回,直到你啟動的程序執(zhí)行完成。
    (2)、如果你啟動是windows程序,它仍然會啟動一個控制臺,這就給人感覺太差勁了,但如果本身是控制臺的,而且又需要等待它的完成,那這將是比較好的選擇。
    (3)、它的返回值代表是否執(zhí)行成功以及程序的退出碼。
    (4)、不能運行*.txt文件或"www.baidu.com"

 

二、WinExec
    UINT WinExec(
        LPCSTR  lpCmdLine,   //命令行
        UINT  uCmdShow      //窗口樣式
    );
    這個API與API:system同樣的使用簡單,同用是使用命令行型式。
    不過它與API:system相比,有幾個優(yōu)點:
    (1)、它將啟動了一個新進程,并且立即返回,因此你的程序無需等待。
    (2)、它的多了一個參數(shù):uCmdShow,通過它你可以一定程度上控件窗體的顯示,比如讓它后臺運行而不顯示出來。
    (3)、它無論啟動控制臺程序還是windows程序都只做你想要做的事。

    不足之處:
    (1)、它完全與本進程脫離,無法做些必要的控制。
    (2)、無法得知啟動的程序是否退出。
    (3)、得不到啟動的程序的退出碼。
    (4)、不能運行*.txt文件或"www.baidu.com"

 

三、ShellExecute
    HINSTANCE ShellExecute(
        HWND hwnd,
        LPCTSTR  lpOperation,

        LPCTSTR lpFile,
        LPCTSTR lpParameters,
        LPCTSTR lpDirectory,
        INT nShowCmd
    );
    它也有WinExec同樣的缺點。
    它雖然傳回一個HINSTANCE,但他并不是真正的句柄,我們僅能拿它來做一些錯誤值檢查。

    但它的功能比前兩者更強大,它執(zhí)行系統(tǒng)的Shell命令。
    1、2中如果傳入“XX.txt”,它們將不能成功執(zhí)行,ShellExecute卻能很好地執(zhí)行,它將啟動一個默認(rèn)的文字處理程序來打開它。
    1、2中如果傳入“www.vccode.com”,將不能成功執(zhí)行,而ShellExecute卻能很好地執(zhí)行,它將啟動一個默認(rèn)瀏覽器來打開這個網(wǎng)站。

 

四、CreateProcess
    BOOL CreateProcess(
        LPCTSTR lpApplicationName,        // name of executable module
        LPTSTR lpCommandLine,             // command line string
        LPSECURITY_ATTRIBUTES lpProcessAttributes, // SD
        LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD
        BOOL bInheritHandles,               // handle inheritance option
        DWORD dwCreationFlags,           // creation flags
        LPVOID lpEnvironment,              // new environment block
        LPCTSTR lpCurrentDirectory,      // current directory name
        LPSTARTUPINFO lpStartupInfo,   // startup information
        LPPROCESS_INFORMATION lpProcessInformation // process information
    );
    往往看到這個函數(shù)就讓人生畏,它參數(shù)多,而且參數(shù)類型也如此陌生。是的,正是因為如此它才功能強大!
    但不要怕,作為一般使用,非常簡單!下面便是一個簡單的例子(啟動記事本):

    STARTUPINFO StartInfo;
    PROCESS_INFORMATION pinfo;
    //對程序的啟動信息不作任何設(shè)定,全部清0
    memset(&StartInfo,0,sizeof(STARTUPINFO));
    StartInfo.cb = sizeof(STARTUPINFO);//設(shè)定結(jié)構(gòu)的大小

    BOOL ret=CreateProcess(
        NULL, //啟動程序路徑名
        "notepad.exe",        //參數(shù)(當(dāng)exeName為NULL時,可將命令放入?yún)?shù)前)
        NULL,                     //使用默認(rèn)進程安全屬性
        NULL,                     //使用默認(rèn)線程安全屬性
        FALSE,                   //句柄不繼承
        NORMAL_PRIORITY_CLASS, //使用正常優(yōu)先級
        NULL, //使用父進程的環(huán)境變量
        NULL, //指定工作目錄
        &StartInfo, //子進程主窗口如何顯示
        &pinfo); //用于存放新進程的返回信息

  這樣在創(chuàng)建成功這后我們就可以從pinfo中找到它的:進程句柄,線程句柄,進程ID,線程ID
  在附件源碼中演示了進程序的啟動,停止。

  實際上我們可以通過很多方式如內(nèi)存共享、父進程窗體句體傳入仍后從消息中獲得子進程窗體句柄等,來實現(xiàn)更多的控制。

  想很好地掌握CreateProcess,可參見人民郵電出版社出版的<< Windows系統(tǒng)編程 >>,它的“進程”部份作了很詳盡的說明。  

例程:
#include<windows.h>
void main()
{
    HWND handle;
    printf("Function <WinExec>:\nIt can run a cmd command,but can`t open *.txt and \"www.*.*\"\n");
    printf("Please press Enter go on\n");
    getchar();
    WinExec("mspaint.exe",SW_SHOWNOACTIVATE);
    /*winexec不能打開網(wǎng)站或txt文件*/
    printf("Function <ShellExecute>:\nIt can run a cmd command to open file or web\n\n");
    getchar();
    printf("Open a txt file\n");
    ShellExecute(NULL,"open","C:\\test.txt",NULL,NULL,SW_MINIMIZE);
    getchar();
    printf("Open a web\n");
    ShellExecute(NULL,NULL,"www.baidu.com",NULL,NULL,SW_SHOWNA);
    getchar();
    printf("Run a cmd command:ping www.sina.com\n");
    ShellExecute(NULL, NULL, "ping", "sina.com", NULL, SW_SHOWNORMAL);
    getchar();
    printf("打開目錄\n");
    ShellExecute(NULL, "open", "c:", NULL, NULL, SW_SHOWNORMAL);
    getchar();
    printf("瀏覽目錄\n");
    ShellExecute(NULL, "explore", "c:", NULL, NULL, SW_SHOWNORMAL);
    getchar();
    printf("文件屬性\n");
    ShellExecute(handle,"properties","C:\\test.txt",NULL,NULL,SW_MINIMIZE);
    printf("%s",handle);
    /*shellExecute的第二個參數(shù)為你想執(zhí)行的操作(edit,explore,find,open,print,properties),也可為NULL*/
}
/*
SW_HIDE    Hides the window and passes activation to another window.
SW_MINIMIZE   Minimizes the specified window and activates the top-level window in the system's list.
SW_RESTORE   Activates and displays a window. If the window is minimized or maximized, Windows restores it to its original size and position (same as SW_SHOWNORMAL). 
SW_SHOW    Activates a window and displays it in its current size and position.
SW_SHOWMAXIMIZED Activates a window and displays it as a maximized window. 
SW_SHOWMINIMIZED Activates a window and displays it as an icon. 
SW_SHOWMINNOACTIVE Displays a window as an icon. The window that is currently active remains active.
SW_SHOWNA   Displays a window in its current state. The window that is currently active remains active.
SW_SHOWNOACTIVATE Displays a window in its most recent size and position. The window that is currently active remains active.
SW_SHOWNORMAL   Activates and displays a window. If the window is minimized or maximized, Windows restores it to its original size and position (same as SW_RESTORE).
*/

posted on 2014-05-12 11:35 Tim 閱讀(6249) 評論(0)  編輯 收藏 引用 所屬分類: C/C++語言windows系統(tǒng)

<2012年5月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

導(dǎo)航

統(tǒng)計

公告

本博客原創(chuàng)文章,歡迎轉(zhuǎn)載和交流。不過請注明以下信息:
作者:TimWu
郵箱:timfly@yeah.net
來源:www.shnenglu.com/Tim
感謝您對我的支持!

留言簿(9)

隨筆分類(173)

IT

Life

搜索

積分與排名

最新隨筆

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久精视频免费在线久久完整在线看| 欧美gay视频激情| 亚洲黄色在线观看| 亚洲影院免费观看| 日韩视频在线你懂得| 午夜欧美大片免费观看 | 亚洲欧洲日韩综合二区| 亚洲欧美www| 亚洲特级片在线| 久热这里只精品99re8久| 久久精品99国产精品日本| 欧美日韩精选| 亚洲精品久久久久久一区二区| 国产一区二区黄色| 亚洲一级免费视频| 亚洲在线黄色| 国产精品久久波多野结衣| 99精品99久久久久久宅男| 亚洲欧洲日产国产网站| 模特精品在线| 亚洲大胆美女视频| 亚洲国产高清在线| 久久在线精品| 欧美v亚洲v综合ⅴ国产v| 狠狠v欧美v日韩v亚洲ⅴ| 欧美在线综合视频| 久久精品国产欧美激情| 国产日产欧产精品推荐色| 亚洲专区一二三| 香港久久久电影| 国产午夜精品理论片a级大结局| 亚洲自拍偷拍麻豆| 久久精品一区蜜桃臀影院| 国产午夜精品理论片a级大结局| 午夜久久福利| 久久另类ts人妖一区二区| 韩国精品一区二区三区| 久久久久久久久岛国免费| 欧美阿v一级看视频| 最新国产乱人伦偷精品免费网站 | 欧美怡红院视频| 久久久久久久久久久久久女国产乱 | 国产精品自拍一区| 亚洲欧美日韩综合一区| 久久久www成人免费毛片麻豆| 国产专区欧美精品| 久久婷婷国产综合国色天香| 欧美高清视频免费观看| 日韩西西人体444www| 欧美日韩中文在线观看| 亚洲伊人伊色伊影伊综合网| 久久久久综合网| 亚洲国产精品黑人久久久| 欧美成人午夜视频| 99在线精品免费视频九九视| 性欧美暴力猛交69hd| 狠狠操狠狠色综合网| 欧美成人三级在线| 中文av字幕一区| 久久天天综合| 在线一区二区三区四区| 国产精品一香蕉国产线看观看| 欧美与黑人午夜性猛交久久久| 欧美国产精品一区| 亚洲欧美在线观看| 在线日韩视频| 国产精品高潮视频| 浪潮色综合久久天堂| 亚洲天堂视频在线观看| 免费久久99精品国产| 亚洲天堂av综合网| 有码中文亚洲精品| 国产精品久久久久久户外露出| 久久精品国产免费观看| 99视频精品免费观看| 久久综合精品国产一区二区三区| 一区二区三区精品国产| 国模精品一区二区三区| 欧美日韩在线影院| 免费欧美网站| 欧美在线一区二区| 一区二区三区精品国产| 亚洲电影视频在线| 久久午夜激情| 欧美一区1区三区3区公司| 亚洲美女啪啪| 悠悠资源网久久精品| 国产精品一区二区男女羞羞无遮挡 | 国产伦精品一区二区| 欧美黄色日本| 久久久欧美一区二区| 亚洲欧美久久久| 一区二区欧美精品| 亚洲三级免费观看| 欧美激情亚洲自拍| 免费看精品久久片| 久久人人爽人人爽爽久久| 午夜精品影院| 午夜精品久久久久久久99黑人| 一本大道av伊人久久综合| 亚洲国产一成人久久精品| 激情久久五月天| 国产一区二区久久| 国产一级揄自揄精品视频| 国产精品日韩久久久| 国产精品久久久一区二区三区| 欧美人与性动交a欧美精品| 欧美成人免费va影院高清| 美女图片一区二区| 久久综合久色欧美综合狠狠 | 国产精品亚洲а∨天堂免在线| 欧美日韩一区二区在线视频| 欧美激情精品久久久久久| 欧美成人一区二免费视频软件| 久久综合伊人77777尤物| 久久夜色精品国产| 美日韩丰满少妇在线观看| 久久综合九色99| 美女诱惑黄网站一区| 久久综合成人精品亚洲另类欧美 | 久久久午夜视频| 另类图片综合电影| 免费欧美日韩国产三级电影| 欧美成人一区二区三区| 欧美日韩成人综合天天影院| 欧美日韩国产高清| 国产精品久久久久高潮| 国产日韩视频| 伊人精品成人久久综合软件| 亚洲国产天堂网精品网站| 亚洲免费不卡| 午夜精品一区二区三区四区 | 久久最新视频| 欧美日韩国产麻豆| 国产免费一区二区三区香蕉精| 国内久久视频| 亚洲美女黄色片| 西瓜成人精品人成网站| 老司机免费视频一区二区| 亚洲高清一区二区三区| 一区二区三欧美| 久久国产一区二区三区| 欧美国产综合视频| 国产精品入口夜色视频大尺度| 精品不卡一区| 亚洲一区免费网站| 免费亚洲一区| 亚洲视频免费看| 久久香蕉国产线看观看av| 欧美日韩福利视频| 国产综合久久久久影院| 日韩视频在线一区| 久久婷婷丁香| a4yy欧美一区二区三区| 久久久精品一品道一区| 欧美日韩精品在线播放| 在线观看91久久久久久| 亚洲一区二区日本| 欧美激情精品久久久久| 亚洲欧美日韩一区二区三区在线 | 欧美日韩亚洲高清| 韩国三级在线一区| 亚洲欧美成人精品| 欧美激情精品久久久久久蜜臀| 亚洲欧美国产不卡| 欧美日韩亚洲一区二区三区四区| 国产亚洲欧美一级| 亚洲免费在线电影| 亚洲国产精品成人va在线观看| 午夜精品久久久久久99热| 欧美人与性动交α欧美精品济南到| 国产亚洲午夜| 亚洲欧美日韩直播| 亚洲美女中文字幕| 牛夜精品久久久久久久99黑人 | 久久亚洲私人国产精品va| 一区二区精品在线| 欧美人与禽猛交乱配| 最新日韩欧美| 欧美1区免费| 久久gogo国模裸体人体| 国产欧美日韩精品专区| 亚洲综合电影| 亚洲免费观看在线视频| 欧美r片在线| 亚洲福利在线看| 美日韩精品免费| 久久精品国产久精国产一老狼| 国产视频亚洲| 欧美一区中文字幕| 午夜欧美精品| 国产一区二区三区四区在线观看 | 欧美专区在线观看| 亚洲午夜激情| 国产精品区一区| 欧美一区成人| 欧美一级片在线播放| 国产日韩欧美综合一区| 久久天天躁狠狠躁夜夜爽蜜月| 久久国产欧美精品|