標籤: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 //擷取到資料的位元組數 );