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

無我

讓內心永遠燃燒著偉大的光明的精神之火!
靈活的思考,嚴謹的實現
豪邁的氣魄、頑強的意志和周全的思考

system、WinExec、ShellExecute、CreateProcess


轉自http://www.cnblogs.com/project/archive/2009/10/22/1588015.html

關于三個SDK函數: WinExec, ShellExecute,CreateProcess 的其他注意事項:

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

【2】定義路徑
C++中所表示的路徑要用 " \\ "而不是平常所用的" \ ",所以以上三個函數表示路徑都為: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)、他不會立即返回,直到你啟動的程序執行完成。
    (2)、如果你啟動是windows程序,它仍然會啟動一個控制臺,這就給人感覺太差勁了,但如果本身是控制臺的,而且又需要等待它的完成,那這將是比較好的選擇。
    (3)、它的返回值代表是否執行成功以及程序的退出碼。
    (4)、不能運行*.txt文件或"www.baidu.com"

 

二、WinExec
    UINT WinExec(
        LPCSTR  lpCmdLine,   //命令行
        UINT  uCmdShow      //窗口樣式
    );
    這個API與API:system同樣的使用簡單,同用是使用命令行型式。
    不過它與API:system相比,有幾個優點:
    (1)、它將啟動了一個新進程,并且立即返回,因此你的程序無需等待。
    (2)、它的多了一個參數: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,但他并不是真正的句柄,我們僅能拿它來做一些錯誤值檢查。

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

 

四、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
    );
    往往看到這個函數就讓人生畏,它參數多,而且參數類型也如此陌生。是的,正是因為如此它才功能強大!
    但不要怕,作為一般使用,非常簡單!下面便是一個簡單的例子(啟動記事本):

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

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

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

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

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

例程:
#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不能打開網站或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的第二個參數為你想執行的操作(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 閱讀(6242) 評論(0)  編輯 收藏 引用 所屬分類: C/C++語言windows系統

<2014年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

導航

統計

公告

本博客原創文章,歡迎轉載和交流。不過請注明以下信息:
作者:TimWu
郵箱:timfly@yeah.net
來源:m.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>
            亚洲国产精品久久久久久女王| 久久久精品性| 亚洲激情校园春色| 美脚丝袜一区二区三区在线观看| 国模套图日韩精品一区二区| 久久久久久久一区二区三区| 久久精品综合一区| 亚洲黄网站在线观看| 亚洲国产精品传媒在线观看| 欧美日本精品在线| 亚洲女女女同性video| 亚洲欧美日韩精品久久| 在线成人h网| 亚洲激情视频在线观看| 国产精品久久久久久久久久久久久久| 亚洲欧美日韩精品在线| 久久超碰97人人做人人爱| 亚洲高清在线播放| 亚洲作爱视频| 禁久久精品乱码| 亚洲精品欧美| 国产亚洲欧洲| 亚洲人永久免费| 国产日韩欧美高清免费| 欧美成在线视频| 国产精品美女久久| 麻豆freexxxx性91精品| 欧美日韩精品一二三区| 久久精品一区二区三区中文字幕| 欧美成人黄色小视频| 欧美一级二区| 欧美精品一区二区三区在线看午夜| 亚洲欧美不卡| 欧美不卡视频一区| 性欧美xxxx大乳国产app| 免费观看成人www动漫视频| 午夜精品久久久99热福利| 久久综合图片| 久久精品国产在热久久| 欧美精品成人一区二区在线观看 | 久久蜜桃香蕉精品一区二区三区| 宅男精品导航| 裸体素人女欧美日韩| 亚洲欧美日韩一区二区三区在线 | 亚洲在线观看免费视频| 亚洲精品美女在线| 久久久最新网址| 欧美中文日韩| 国产精品啊v在线| 亚洲人久久久| 日韩视频在线永久播放| 久久综合伊人77777麻豆| 欧美一区二区三区婷婷月色| 欧美日韩成人在线视频| 欧美顶级少妇做爰| 激情综合色综合久久| 欧美亚洲一区二区在线| 午夜精品美女久久久久av福利| 欧美日韩国产精品一区二区亚洲| 欧美va亚洲va香蕉在线| 在线不卡a资源高清| 欧美一级午夜免费电影| 欧美一区二区视频97| 国产精品久久福利| 在线一区二区三区四区| 亚洲一区二区三区777| 欧美日韩国产999| 亚洲精选一区二区| 99亚洲视频| 欧美四级电影网站| 亚洲一区二区视频在线观看| 亚洲综合不卡| 国产精品视频福利| 欧美亚洲一区在线| 久久这里只有| 亚洲激情av在线| 欧美精品免费观看二区| 亚洲免费观看高清在线观看 | 欧美激情一二三区| 亚洲精品久久久久| 欧美激情按摩在线| 夜夜嗨一区二区| 欧美在线一二三四区| 国产欧美日韩综合| 久久夜色精品国产噜噜av| 亚洲第一在线视频| 一区二区高清视频在线观看| 国产精品久久久久aaaa九色| 亚洲欧美日韩人成在线播放| 久久免费视频观看| 亚洲精品乱码久久久久久按摩观| 欧美日韩三区| 欧美伊人久久大香线蕉综合69| 女同性一区二区三区人了人一 | 国产精品色网| 欧美与黑人午夜性猛交久久久| 欧美阿v一级看视频| 99re热精品| 国产专区一区| 欧美片第1页综合| 亚洲欧美高清| 亚洲第一搞黄网站| 欧美一区二区三区的| 亚洲成人在线视频播放| 午夜精品影院| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美黄色小视频| 午夜欧美大片免费观看| 亚洲娇小video精品| 久久九九热re6这里有精品| 99精品免费视频| 国产一区二区你懂的| 欧美日韩国产一区二区三区地区| 久久国产精品久久久久久电车 | 免费不卡亚洲欧美| 亚洲视频自拍偷拍| 激情综合激情| 国产麻豆成人精品| 欧美日韩三级一区二区| 久久麻豆一区二区| 小黄鸭精品aⅴ导航网站入口| 亚洲日本电影| 欧美高清在线视频观看不卡| 欧美一级片在线播放| 亚洲精品少妇30p| 激情久久综合| 国产综合激情| 国产精品一区二区三区久久久| 欧美另类视频| 欧美成人一区二区在线| 久久一区二区精品| 久久久av网站| 久久国产精品免费一区| 性欧美暴力猛交69hd| 亚洲一区国产| 亚洲最新在线| 一区二区三区精品| 99国产一区| 日韩天堂av| 一本到高清视频免费精品| 亚洲区欧美区| 亚洲人成在线观看一区二区| 亚洲国产一区二区a毛片| 亚洲大胆视频| 亚洲激情女人| 日韩视频一区二区在线观看| 亚洲蜜桃精久久久久久久| 亚洲精品一二三| 亚洲精品视频啊美女在线直播| 亚洲国产欧美一区| 亚洲成人在线网站| 亚洲黄色一区| 一本色道久久综合亚洲精品婷婷 | 久久天天躁狠狠躁夜夜av| 欧美影视一区| 久久婷婷国产综合国色天香| 久久综合久久综合久久综合| 免费视频久久| 亚洲精品久久久久| 一本色道久久综合| 亚洲在线观看免费视频| 欧美一级淫片播放口| 久久一区二区三区超碰国产精品 | 在线性视频日韩欧美| 亚洲深夜福利视频| 欧美综合77777色婷婷| 另类天堂视频在线观看| 欧美不卡视频| 国产精品热久久久久夜色精品三区| 国产精品你懂的在线欣赏| 国产亚洲亚洲| 91久久精品视频| 亚洲免费视频在线观看| 久久久久国产精品麻豆ai换脸| 免费不卡在线观看| 亚洲精品自在久久| 性做久久久久久| 免费视频一区| 国产精品久久久久久五月尺| 精品1区2区| 亚洲裸体视频| 久久电影一区| 亚洲精品国精品久久99热一| 欧美亚洲视频在线观看| 欧美精品1区2区| 国产日韩欧美在线| 日韩亚洲欧美高清| 久久久蜜桃一区二区人| 亚洲精品日韩在线| 久久国产精品久久久久久久久久| 欧美另类videos死尸| 国内精品**久久毛片app| 一区二区电影免费观看| 两个人的视频www国产精品| 一本色道久久综合狠狠躁的推荐| 欧美一区二区三区婷婷月色| 欧美日韩调教| 亚洲精品免费观看| 久久综合伊人77777| 亚洲中无吗在线|