visual c 得到系統所有程序

2021-06-15 21:09:16 字數 967 閱讀 5249

用createtoolhelp32snapshot/process32first/process32next api列舉系統程序

在很多情況下需要對系統的程序進行操作,方法有很多種但最常用的是

createtoolhelp32snapshot/process32first/process32next 一系列api使現結束程序使用

terminateprocess使現

下面的函式可以使現對程序的列舉:

int processlist()

bool bmore=::process32first(hprocesssnap,&pe32);

printf("%20s/t%10s/n","程序名","pid");

printf("***********************************=/n");

while(bmore)

::closehandle(hprocesssnap);

printf("***********************************=/n");

printf("/n當前系統程序數為:%d/n",count);

return 0;

}結束程序可以使用下面的函式:(使現其中dwid為想要結束的程序id可通過列程序的函式得到)

int terminateprocessfromid(dword dwid)

::closehandle(hprocess);

if(bret)

printf("%d 程序結束成功....../n/n/n/n",dwid);

else

printf("%d 程序結束失敗....../n/n/n/n",dwid);

return 0;

}與程序相關的操作通常還要提公升許可權,由關提公升許可權可以看偶的另一篇筆記《提公升程序許可權**.》

由於**相對比較簡單,所以就沒有更多的文字說明,關鍵的函式加了注釋,其實使用時直接呼叫就ok了.

獲取系統所有程序

delphi的tlhelp32單元封裝了關於程序執行緒,堆,模組的函式和結構。寫 之前先對幾個函式進行一下說明。createtoolhelp32snapshot 函式為指定的程序 程序使用的堆 heap 模組 module 執行緒 thread 建立乙個快照 snapshot 也就是各個程序的這些相...

得到指定程序所有視窗。顯示 影藏 置頂。

這裡使用乙個外掛程式測試,因為外掛程式沒有做功能限制的處理 只是做了 視窗影藏。全域性變數 hwnd hwnd 100 int number 0 dword tpid 0 區域性變數 char username 1028 先找到程序id 1 hwnd selectpor 2 12 bool isok...

得到系統程序和結束某個指定的程序

看到這篇文章,關閉指定的ie例項 自己想了另乙個辦法來作 先修改登錄檔 hkey local machine system currentcontrolset service perfproc performance 下的 disable performance counters 的值改為0 得到系...