走進windows編程的世界-----windows進程

來源:互聯網
上載者:User

標籤:des   style   blog   http   color   使用   

 Windows進程
 
 1 Windows進程
    進程是一個容器,包含了一個應用程式執行個體的各種資源。Windows多任務的作業系統,因此可以同時執行多個進程。
    
  2 Windows進程的一些特點
    2.1 進程中包含了執行代碼等資源。
    2.2 進程都具有私人的地址空間。
    2.3 每個進程都有一個ID,標識進程。
    2.4 每個進程都有自己的安全屬性
    2.5 至少要包含一個可以執行的線程。
    
二 進程的環境

  1 環境資訊的擷取
    擷取:
    LPVOID GetEnvironmentStrings(VOID)
    傳回值是擷取到的所有環境資訊
    釋放:

    BOOL FreeEnvironmentStrings(       LPTSTR lpszEnvironmentBlock )

  2 環境變數的擷取和設定
    擷取:

     DWORD GetEnvironmentVariable(     LPCTSTR lpName,  //變數名稱     LPTSTR lpBuffer, //資料BUFF     DWORD nSize      //BUFF的長度    );

    傳回值是擷取到的字串的長度
    設定:

  BOOL SetEnvironmentVariable(     LPCTSTR lpName, //變數名稱     LPCTSTR lpValue  //變數的值    );


三 進程的資訊
   1 進程ID和控制代碼
     GetCurrentProcessID 擷取進程的ID
     GetCurrentProcess 擷取進程的控制代碼,
         傳回值為-1,是當前進程的偽控制代碼,永遠是-1.如果想擷取當前進程的實際控制代碼需要使用OpenProcess函數.
   2 開啟進程

     HANDLE OpenProcess(       DWORD dwDesiredAccess, //訪問模式       BOOL bInheritHandle, //繼承標識       DWORD dwProcessId //進程ID     );

   返回進程的控制代碼
   3 擷取進程的所使用的所有模組(EXE或DLL)
     使用PSAPI函數.

      BOOL EnumProcessModules(       HANDLE hProcess,//進程控制代碼       HMODULE * lphModule,//模組的數組       DWORD cb, //數組的長度       LPDWORD lpcbNeeded //擷取到資料的位元組數      );


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.