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

aurain
技術文摘
posts - 137,  comments - 268,  trackbacks - 0

5.進程:

1)在Win32系統中每一個進程都擁有4GB的地址空間。Win32進程什么也不執行,它只是擁有4GB的地址空間來存放應用程序EXE文件所需要的代碼和數據。除地址空間外,進程還擁有文件、動態內存、線程等資源。由線程負責執行包含在進程地址空間里的代碼。每一個線程有它自己的CPU寄存器組和自己的棧。每一個進程至少有一個線程來執行包含在地址空間中的代碼。如果地址空間中沒有線程在執行代碼,那么系統就會釋放進程和它的地址空間。


(2)加載器:Win32支持兩類應用程序,控制臺應用程序CUI和圖形用戶界面應用程序GUIExe文件中的一個子系統值指出這個應用程序是控制臺應用程序還是圖形用戶界面應用程序。

(3)VC編寫的Win32控制臺應用程序都有一個main函數,而圖形界面應用程序都有一個WinMain函數。

(4)C/C++的啟動函數:_WinMainCRTStartup函數。它負責執行:

1.得到一個新進程的全部命令行指針。

2.得到一個新進程的環境變量指針。

3.通過包含Stdlib.h來初始化能被應用程序訪問的C運行時全局變量。

4.初始化由C運行時內存分配函數使用的堆和其它的低級輸入輸出例程。

5調用WinMain函數。

6.WinMain返回后,啟動代碼調用C運行時的exit函數,傳給它WinMain的返回值。Exit函數執行一些清理工作,然后調用Win32ExitProcess函數,傳給它WinMain函數的返回值。

(5)實例句柄:每一個加載到進程地址空間的ExeDLL文件都有一個唯一的實例句柄。WinMain的第一個參數hinstExeExe文件的實例。在加載資源時所使用的函數要使用這個實例句柄。

(6)基本內存地址:WinMain的參數hinstExe的實際值就是一個基本內存地址。它指出系統是在什么地方把EXE文件的映象裝入進程的地址空間的。基本內存地址由鏈接器決定。

(7)HANDLE GetModuleHandle(LPCTSTR lpszModule)函數:返回的句柄是EXEDLL文件在地址空間里的基本地址。參數是ExeDLL文件的名字。該函數的兩個需要注意的地方:一、該函數只查看調用進程的地址空間。二、參數為NULL時返回的是EXE文件的基本內存地址。

(8)Win32hinstExehmodExe是一個值。WinMain的參數hinstExePrev對于Win32無意義,它的值總為NULL。在Win32下,應用程序的每一個實例都必須注冊它自己窗口類,這是因為窗口類不能被同一應用程序中的所有實例共享。只有hinstExePrev值為NULL時,在Win32下應用程序的每一個實例才會注冊它自己的窗口類。

(9)進程的環境變量函數:BOOL SetEnviromentVariable(LPCTSTR lpszName,LPCTSTR lpszValue);該函數把由lpszName標識的值設置為由lpszValue標識的值。如果指定的變量名已經存在,就修改它的值。如果不存在,就增加該變量。如果lpszValue的值為NULL,變量就被從環境變量中刪除。

(10)進程的命令行

(11)進程的錯誤模式:當進程出現錯誤時, 它用來告訴系統應當以何種模式去處理該錯誤。使用的函數是:UINT SetErrorMode(UINT fuErrorMode);其中參數fuErrorMode是以下四個值的任意組合,它們是:SEM_FAILCRITICALERRORS(系統不顯示嚴重錯誤處理消息框,把錯誤返回調用的進程)SEM_NOGPFAULTERRORBOX(系統不顯示普通保護錯誤消息框。該標識只能被調試應用程序設置來用異常句柄自己處理普通保護錯誤GP)SEM_NOOPENFILEERRORBOX(系統在找不到文件時不顯示消息框)SEM_NOALIGNMENTFAULTEXCEPT(系統自動修復內在排列錯誤,使它們對應用不可見。該標識對x86Alpha處理器無用)

注:缺省情況下子進程會繼承父進程的錯誤模式。但是父進程可以通過在調用CreateProcess時設置CREATE_DEFAULT_ERROR_MODE標識來防止子進程繼承。

 

(12)進程的當前驅動器和目錄:可以使用下列函數來得到和設置進程的當前驅動器和目錄:DWORD GetCurrentDirectory(DWORD cchCurDir,LPCTSTR lpszCurDir);

BOOL SetCurrentDirectory(LPCTSTR lpszCurDir);

(13)系統版本號:一般使用 BOOL GetVersionEx(LPOSVERSIONINFO lpVersionInformation);來得到系統版本號,其中參數lpVersionInformation是一個LPOSVERSIONINFO結構,該結構的定義如下:

typedef struct{

DWORD dwOSVersionInfoSize;//在調用GetVersionEx函數前必須被設置為:SizeOf(OSVERSIONINFO);

DWORD dwMajorVersion;//系統主版本號

DWORD dwMinorVersion;//系統次版本號

DWORD dwBuildNumber;

DWORD dwPlatformID;//標識當前系統支持的平臺

TCHAR szCSDVersion[128];

}OSVERSIONINFO,*LPOSVERSIONINFO;

(14)CreateProcess函數:應用程序調用CreateProcess函數來創建一個進程。

BOOL CreateProcess(

LPCTSTR lpszApplicationName,

LPCTSTR lpszCommandLine,

LPSECURITY_ATTRIBUTES lpsaProcess,

LPSECURITY_ATTRIBUTES lpsaThread,

BOOL fInheritHandles,

DWORD fdwCreate,

LPVOID lpvEnvironment,

LPTSTR lpszCurDir,

LPSTARTUPINFO lpsiStartInfo,

LPPROCESS_INFORMATION lppiProcInfo

);

當應用程序中某個線程調用這個函數時,系統創建了一個引用計數為1的進程內核對象。該內核對象不是進程,而是操作系統用來管理進程的一小塊數據結構。系統然后為新進程創建一個4GB的虛擬地址空間,把可執行文件和DLL及數據都裝入該地址空間。系統之后為新進程的主線程創建一個使用計數為1的線程內核對象,之后主線程開始執行C運行時的啟動代碼,最終會調用WinMain函數。如果系統成功地創建了新進程和主線程,CreateProcess函數返回True

各個參數說明:

lpszCommandLine:該參數可以用來指定CreateProcess用來創建新進程的完整命令行,這個命令行里可以包含“可執行文件名”(如果這個可執行文件沒有指定擴展名的話,系統會認為其擴展名為exe)注:可以包含可執行文件名+這個可執行文件的完整路徑,如果未指定完整路徑,那么CreateProcess會以下面的順序查找可執行文件:1.含有調用進程的Exe文件目錄2調用進程的當前目錄3 Windows系統目錄4Windows目錄5列在PATH環境變量中的目錄。如果系統找到了可執行文件,就創建一個進程,把可執行文件的代碼和DLL及數據裝入新進程的地址空間。系統然后調用C運行時的啟動例程。之后C運行時的啟動例程會查看進程的命令行,把可執行文件名后的第一個參數地址傳遞為WinMainlpszCmdLine參數。上面講述的情況是在參數lpszApplicationNameNULL時。

lpszApplicationName:可執行文件的名稱及其擴展名。如果不指定擴展名那么系統將不會認為其擴展名為exe。如果不指定可執行文件的路徑,那么CreateProcess只在當前目錄下查找可執行文件,如果找不到它將返回失敗。

下面列舉一例說明上面講的兩個參數,CreateProcess(“C:WINNTSYSTEM32NOTEPAD.EXE”,”WORDPAD README.TXT”…..);

系統將啟動NotePad,但是NotePad的命令行是WORDPAD README.TXT這樣寫主要是為了支持Windows NTPOSIX子系統。

posted on 2010-05-21 14:23 閱讀(853) 評論(0)  編輯 收藏 引用 所屬分類: Windows開發

<2008年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(17)

隨筆分類(138)

隨筆檔案(137)

網絡開發

最新隨筆

搜索

  •  

積分與排名

  • 積分 - 502446
  • 排名 - 37

最新隨筆

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            一区二区久久| 国产精品黄色在线观看| 亚洲综合电影| 美女主播精品视频一二三四| 亚洲在线中文字幕| 欧美顶级艳妇交换群宴| 久久久久久电影| 国产精品日韩欧美一区| 亚洲精品一区在线| 最新亚洲电影| 久久精品女人天堂| 久久成人精品无人区| 欧美日韩在线不卡一区| 91久久精品美女高潮| 狠狠色狠狠色综合日日五 | 亚洲小说欧美另类婷婷| 狂野欧美一区| 免费成人高清| 亚洲大片在线| 久久一区二区精品| 米奇777超碰欧美日韩亚洲| 国产一区91| 先锋影院在线亚洲| 欧美在线3区| 国产日韩欧美亚洲| 午夜在线视频观看日韩17c| 午夜在线播放视频欧美| 国产精品男gay被猛男狂揉视频| 夜夜嗨av一区二区三区四季av | 亚洲视频成人| 亚洲欧美日本另类| 国产乱码精品| 欧美一区二区三区视频免费播放| 欧美一乱一性一交一视频| 国产精品女同互慰在线看| 亚洲一区二区在线免费观看视频 | 亚洲欧美伊人| 久久国产精品亚洲va麻豆| 国产日韩一区二区| 久久激情五月激情| 欧美ed2k| 正在播放亚洲| 国产精品日韩精品欧美在线| 亚洲欧美另类国产| 久久中文字幕导航| 亚洲国产日韩欧美在线动漫| 免费日韩视频| 在线一区亚洲| 久久伊人一区二区| 91久久久久| 欧美午夜精品电影| 久久岛国电影| 亚洲国产精品999| 亚洲系列中文字幕| 国内成人精品视频| 欧美va亚洲va日韩∨a综合色| 亚洲欧洲精品一区二区三区不卡 | 亚洲美女少妇无套啪啪呻吟| 亚洲先锋成人| 黄色综合网站| 欧美日韩ab片| 午夜一区二区三区在线观看| 欧美α欧美αv大片| 亚洲视频日本| 狠狠色丁香婷综合久久| 欧美精品一区二区三| 亚洲一区二区在线免费观看| 美女图片一区二区| 亚洲网友自拍| 在线观看亚洲视频| 欧美吻胸吃奶大尺度电影| 久久国产夜色精品鲁鲁99| 亚洲乱码国产乱码精品精| 久久精品99| 国产精品99久久久久久久vr| 国产综合色产在线精品| 欧美美女操人视频| 久久成人精品| 一区二区三区四区五区精品视频| 久久婷婷国产综合尤物精品| 亚洲看片网站| 狠狠噜噜久久| 国产精自产拍久久久久久| 欧美激情麻豆| 久久亚洲电影| 先锋影音久久久| 一区二区三区福利| 亚洲欧洲另类国产综合| 久久免费视频观看| 欧美一区二区日韩| 一区二区三区日韩欧美| 亚洲激情图片小说视频| 国产综合第一页| 国产欧美婷婷中文| 国产精品久久999| 欧美精品一区二区三区在线播放| 久久九九久精品国产免费直播| 亚洲一区二区三区久久| 9色国产精品| 亚洲人成在线观看网站高清| 欧美高清在线观看| 欧美大片在线看免费观看| 久久青青草原一区二区| 欧美一区二区三区视频免费播放| 亚洲在线电影| 亚洲午夜日本在线观看| 一区二区免费在线视频| 一本色道久久88精品综合| 亚洲精品中文字幕女同| 91久久精品国产91久久性色tv | 国产精品亚洲产品| 国产精品福利av| 国产精品都在这里| 国产精品成人一区二区三区吃奶 | 欧美三级免费| 欧美日韩一区二区在线观看| 欧美人与性动交a欧美精品| 欧美精品亚洲| 欧美日韩网址| 国产精品久久久久毛片软件| 国产精品视频你懂的| 国产模特精品视频久久久久| 国产欧美日本| 一区二区三区中文在线观看 | 免费试看一区| 亚洲第一精品在线| 亚洲激情成人网| 亚洲最黄网站| 午夜精品福利一区二区蜜股av| 午夜精品久久久久久久男人的天堂 | 久久久精品网| 男女激情久久| 亚洲日本va午夜在线影院| 日韩视频在线永久播放| 亚洲综合色婷婷| 久久久亚洲精品一区二区三区| 浪潮色综合久久天堂| 欧美日本一道本| 国产精品夜色7777狼人| 一区国产精品| 亚洲视频网站在线观看| 欧美一区二区三区四区在线观看地址| 久久免费99精品久久久久久| 亚洲第一毛片| 亚洲欧美国产精品va在线观看| 久久久久九九九| 欧美视频国产精品| 国产在线日韩| 在线一区二区三区四区| 久久精品国产999大香线蕉| 亚洲成人在线视频播放 | 欧美韩日视频| 亚洲一级黄色av| 免播放器亚洲| 国产伦精品一区二区| 亚洲啪啪91| 久久国产日韩| 99热在线精品观看| 另类综合日韩欧美亚洲| 国产精品高潮视频| 亚洲精品久久嫩草网站秘色 | 亚洲精品在线观看视频| 新67194成人永久网站| 欧美日本高清一区| 激情欧美亚洲| 欧美中文字幕在线播放| 亚洲精品一区二区三区樱花| 久久精品国产综合精品| 国产精品播放| 99在线|亚洲一区二区| 美女在线一区二区| 亚洲欧美在线观看| 欧美色综合网| 99精品视频免费全部在线| 久热精品视频| 欧美有码在线观看视频| 国产精品理论片在线观看| 亚洲免费成人av| 欧美激情麻豆| 久久一区亚洲| 极品尤物一区二区三区| 久久精品一本久久99精品| 亚洲私人影吧| 国产精品久久久久影院亚瑟| 99re6这里只有精品| 亚洲国产高清在线| 老**午夜毛片一区二区三区| 影音先锋日韩资源| 久久手机免费观看| 久久精品亚洲乱码伦伦中文| 国产欧美一区二区三区在线老狼| 亚洲欧美日韩综合aⅴ视频| 一本在线高清不卡dvd | 亚洲激情视频在线观看| 蜜臀91精品一区二区三区| 久久九九热免费视频| 狠狠色狠狠色综合日日小说 | 香蕉久久久久久久av网站| 宅男在线国产精品| 国产精品久久久久久久久久久久久 |