程序操作技巧集

2021-04-01 06:52:46 字數 2119 閱讀 5344

首先談一談取得程序快照(列舉系統當前程序)的系統底層函式。一般我們會用到3個關鍵的函式:createtoolhelp32snapshot(),process32first()和process32next()。順帶介紹乙個openprocess函式。

他們的定義分別如下:

handle winapi createtoolhelp32snapshot(

dword dwflags, //系統快照要檢視的資訊型別

dword th32processid//值0表示當前程序

);bool winapi process32first(

handle hsnapshot,//createtoolhelp32snapshot()建立的快照控制代碼

lpprocessentry32 lppe//指向程序入口結構

);bool winapi process32next(

handle hsnapshot,//這裡引數同process32first

lpprocessentry32 lppe//同上

);使用方法

然後呼叫process32first()獲得系統快照中的第乙個程序資訊(report是bool型作為判斷系統快照中下一條程序記錄):report=process32first(hprocess,pinfo);//report是bool值

接著用乙個迴圈呼叫來遍歷系統中所有執行的程序:

while(report)

在這個過程中我們很可能使用openprocess函式:

(handle openprocess(

dword dwdesiredaccess,

bool binherithandle,

dword dwprocessid

);)它是根據第三個引數dwprocessid來得到handle的。

相關資料

msdn上的實現:

下面是操作的一段**:

**段1

handle hprocesssnap=null

processentry32 pe=;

if(hprocesssnap==(handle)-1) return;

pe.dwsize=sizeof(processentry32);

if(process32first(hprocesssnap,&pe))

while(process32next(hprocesssnap,&pe));

**段2

#include

#include

#include

bool getprocesslist ()

; //take a snapshot of all processes in the system.

if (hprocesssnap == (handle)-1)

return (false);

//fill in the size of the structure before using it.

pe32.dwsize = sizeof(processentry32);

//walk the snapshot of the processes, and for each process,

//display information.

if (process32first(hprocesssnap, &pe32))

; do }

while (process32next(hprocesssnap, &pe32));

bret = true;

} else

bret = false;// could not walk the list of processes

// do not fet to clean up the snapshot object.

closehandle (hprocesssnap);

return (bret);

}

Python之操作程序池技巧

當需要建立的子程序數量不多時,可以直接利用multiprocessing中的process動態成生多個程序,但如果是上百甚至上千個目標,手動的去建立程序的工作量巨大,此時就可以用到multiprocessing模組提供的pool方法。初始化pool時,可以指定乙個最大程序數,當有新的請求提交到poo...

Visual C 6 0 API函式操作技巧集

我們在編制應用軟體的過程中,常常需要對游標和滑鼠操作,本人在文中介紹了windows系統中有關實現對滑鼠和游標進行操作的api函式,並給出了在visual c6.0 中利用所介紹的api函式實現對滑鼠和游標的操作的 一 隱藏和顯示游標 函式 int showcursor bool bshow 引數 ...

Visual C 6 0 API函式操作技巧集

我們在編制應用軟體的過程中,常常需要對游標和滑鼠操作,本人在文中介紹了windows系統中有關實現對滑鼠和游標進行操作的api函式,並給出了在visual c6.0 中利用所介紹的api函式實現對滑鼠和游標的操作的 一 隱藏和顯示游標 函式 int showcursor bool bshow 引數 ...