VC獲取系統程序列表 查詢程序 關閉程序

2021-08-17 09:41:50 字數 1548 閱讀 2651

1、獲取系統程序列表

[cpp]view plain

copy

#include //宣告快照函式標頭檔案

...  

processentry32 pe32;  

pe32.dwsize=sizeof

(pe32);  

handle

if(hprocesssnap==invalid_handle_value)  

//遍歷程序快照。輪流顯示每個程序的資訊

cstring strprcnameid;  

bool

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

while

(bmore)  

//清除snapshot物件

::closehandle(hprocesssnap);  

2、查詢指定程序和關閉該程序

以下三個函式使用前先#include "psapi.h",然後setting->link 裡新增psapi.lib即可

[cpp]view plain

copy

//查詢指定程序

dword

findprocess(

tchar

*strprocessname)  

}  return

0;  

}  // 此函式利用上面的 findprocess 函式獲得你的目標程序的id

// 用win api openporcess 獲得此程序的控制代碼,再以terminateprocess強制結束這個程序

void

killprocess(

tchar

*strprocessname)  

bool

result = terminateprocess(hyourtargetprocess, 0);  

if(!result)  

return

;  }  

// 在 windows nt/2000/xp 中可能因許可權不夠導致以上函式失敗

// 如以 system 許可權執行的系統程序,服務程序用本函式取得 debug 許可權即可,winlogon.exe 都可以終止哦 :)

bool

getdebugpriv()  

if( ! lookupprivilegevalue( null, se_debug_name, &sedebugnamevalue ) )  

tkp.privilegecount = 1;  

tkp.privileges[0].luid = sedebugnamevalue;  

tkp.privileges[0].attributes = se_privilege_enabled;  

if(!adjusttokenprivileges( htoken, false, &tkp, 

sizeof

tkp, null, null ) )  

return

true;  

}  

VC獲取系統程序列表 查詢程序 關閉程序

1 獲取系統程序列表 include 宣告快照函式標頭檔案 processentry32 pe32 pe32.dwsize sizeof pe32 if hprocesssnap invalid handle value 遍歷程序快照。輪流顯示每個程序的資訊 cstring strprcnameid...

VC 查詢程序,關閉程序

findprocess 這個函式唯一的引數是你指定的程序名,如 你的目標程序 是 notepad.exe 返回值是該程序的id,失敗返回0 dword findprocess char strprocessname tprintf t n return 0 function errorforce 此...

VC 查詢程序,關閉程序

findprocess 這個函式唯一的引數是你指定的程序名,如 你的目標程序 是 notepad.exe 返回值是該程序的id,失敗返回0 cpp view plain copy dword findprocess char strprocessname tprintf t n return 0 f...