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...