<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Windows 系統編程-進程的創建

    時間:2024-08-25 08:45:07 計算機畢業論文 我要投稿
    • 相關推薦

    Windows 2000系統編程-進程的創建

    [摘要]文章通過CreateProcess創建進程命令函數原形、參數的詳解,結合具體的實例從編寫系統層次應用程序和用戶應用程序的角度講述了Windows 2000中進程管理的技術,介紹了創建進程的方法,以便使讀者從中掌握Windows 2000的特性,編寫更有效和更有用的程序

    [關鍵詞]進程;線程;句柄

    新一代操作系統——Windows 2000是一個具有完整功能的環境,與其他操作系統相比完成同樣的任務Windows 2000更出色。編程人員要編寫系統層次應用程序和用戶應用程序掌握Windows 2000中的進程管理至關重要。CreateProcess命令是WINDOWS2000中一個很重要的進程創建命令,下面介紹CreateProcess命令。

    1 函數原型:

    BOOL CreateProcess(LPCTSTR lpApplicationName,LPTSTR lpCommandLine,LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags,LPVOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTUPINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation );

    2 參數:

    lpApplicationName:指向一個以空結尾的串,他指定了要執行的模塊

    lpCommandLine:指向一個以空結尾的串,該串定義了要執行的命令行。

    lpProcessAttributes:指向一個SECURITY_ATTRIBUTES結構,該結構決定了返回的句柄是否可被子進程繼承。lpThreadAttributes:指向一個SECURITY_ATTRIBUTES結構,該結構決定了返回的句柄是否可被子進程繼承。bInheritHandles,:表明新進程是否從調用進程繼承句柄。dwCreationFlags:定義控制優先類和進程創建的附加標志。lpEnvironment:指向一個新進程的環境塊。lpCurrentDirectory:指向一個以空結尾的串,該串定義了子進程的當前驅動器和當前目錄。lpStartupInfo:指向一個STARTUPINFO結構,該結構定義了新進程的主窗口將如何顯示。lpProcessInformation:指向PROCESS_INFORMATION結構,該結構接受關于新進程的表示信息。

    3 返回值:

    若函數調用成功,則返回值不為0;若函數調用失敗,返回值為0。ShellExecute和WinExec命令用于簡單的作業。如果要完全控制一個新進程,就必須調用CreateProcess。

    在上述參數中,參數lpStartupInfo是STARTUPINFO結構。可以用來設置控臺的標題,新窗口的的初始大小和位置,及重定向標準輸入和輸出。新程序通常可以忽略多數這些數據項,如果選擇那樣做的話?梢砸幎ㄔ摻Y構體中的標志,已表明要設置的數據段。有時,不想設置任何信息,也必須傳遞一個有效的指針給空結構(確定設置大小到cb,及設置dwFlags成員為0)。參數lpProcessInformation返回進程和線程句柄,還包括進程和線程ID。這些句柄擁有在參數lpProcessAttributes和lpThreadAttributes中規定的訪問。要注意,針對CreateProcess的一些參數對控制臺應用程序是特定的,而其它參數則對各種應用程序有用。

    4 程序示例:

    下面通過一個例子來說名CreateProcess和相關命令的使用。下面程序是兩個簡單的控制臺應用程序,第一個程序(MASTER)運行第二個程序(SLAVE),并進入睡眠。SLAVE程序從命令行讀取源程序的進程ID(PID),并等待MASTER程序終止。

    程序清單 MASTER程序
    #include #include #include #include

    void main(int argc,char *argv[]) { char cmd[128];

    if (argc!=1) strcpy(cmd,argv[1]);

    else  strcpy(cmd,”slave.exe”);

    int pid=GetCurrentProcessId();

    sprintf(cmd strlen(cmd),” %d”,pid);

    cout

    【Windows 系統編程-進程的創建】相關文章:

    Windows2003 內核級進程隱藏、偵測技術11-18

    在Windows系統中用VC 實現鉤子機制03-18

    Windows 95下智能數據采集系統03-19

    基于Windows Media技巧的流媒體系統 的設計與實現03-23

    基于Windows Media技術的流媒體系統的設計與實現03-18

    W78E516及其在系統編程的實現03-18

    操作系統課程設計報告模擬進程調度程序(一)03-07

    基于Java的應用編程-視頻點播系統JSP+TOMCAT+SQL11-23

    在系統可編程模擬器件ispPAC10及其應用03-18

    主站蜘蛛池模板: 久久亚洲精品无码观看不卡| 欧美亚洲色综久久精品国产| 亚洲国产精品嫩草影院在线观看 | 国产精品白丝AV嫩草影院| 亚洲国产精品无码久久一区二区| 老司机69精品成免费视频| 日韩国产成人精品视频| 欧美日韩国产精品 | 国内精品久久久久国产盗摄| 青春草无码精品视频在线观 | 亚洲国产精品成人精品无码区在线| 国产高清国内精品福利99久久| 国产精品9999久久久久| 中文字幕一精品亚洲无线一区| 亚洲国产精品ⅴa在线观看| 97精品国产一区二区三区| 亚洲精品岛国片在线观看| 精品成人av一区二区三区| 四虎国产精品永久地址99| 国产91大片精品一区在线观看| 日产精品久久久久久久| 中文精品99久久国产| 日本精品夜色视频一区二区| 国产精品热久久毛片| 99久久99久久精品国产片果冻| 精品国产一区二区三区免费| 精品国产三级a∨在线| 亚洲国产精品一区二区第一页| 合区精品久久久中文字幕一区 | 欧美人与性动交α欧美精品成人色XXXX视频| 四虎国产精品免费入口| 九九精品成人免费国产片| 99热这里只有精品在线| 国产精品天天看天天狠| 国产欧美精品一区二区三区| 精品国产精品国产偷麻豆 | 亚洲乱码国产乱码精品精| 伊人久久精品影院| 中文精品无码中文字幕无码专区| 亚洲欧美精品丝袜一区二区| 亚洲精品白浆高清久久久久久|