delphi查詢和結束程序
function tfrmimportexcel.findprocess(afilename: string): boolean;
varhsnapshot: thandle;//用於獲得程序列表
lppe: tprocessentry32;//用於查詢程序
found: boolean;//用於判斷程序遍歷是否完成
killhandle: thandle;//用於殺死程序
begin
result :=false;
lppe.dwsize := sizeof(tprocessentry32);//在呼叫process32first api之前,需要初始化lppe記錄的大小
found := process32first(hsnapshot, lppe);//將程序列表的第乙個程序資訊讀入ppe記錄中
while found do
begin
if ((uppercase(extractfilename(lppe.szexefile))=uppercase(afilename)) or (uppercase(lppe.szexefile )=uppercase(afilename))) then
begin
result :=true;
end;
found := process32next(hsnapshot, lppe);//將程序列表的下乙個程序資訊讀入lppe記錄中
end;
end;
procedure tfrmimportexcel.endprocess(afilename: string);
const
process_terminate = $0001;
varcontinueloop: bool;
fsnapshothandle: thandle;
fprocessentry32: tprocessentry32;
begin
fprocessentry32.dwsize := sizeof(fprocessentry32);
continueloop := process32first(fsnapshothandle, fprocessentry32);
while integer(continueloop) <> 0 do
begin
if ((uppercase(extractfilename(fprocessentry32.szexefile))=uppercase(afilename)) or (uppercase(fprocessentry32.szexefile )=uppercase(afilename))) then
terminateprocess(openprocess(process_terminate, bool(0),fprocessentry32.th32processid), 0);
continueloop := process32next(fsnapshothandle, fprocessentry32);
end;
end;
//呼叫
if findprocess('excel.exe') then
begin
if msshow('檢測到開啟了excel,是否讓其關閉?',2)<>6 then exit;
endprocess('excel.exe');
end;
linux識別 查詢 結束程序
系統的原始程序是init,init的pid總是1。乙個程序可以產生另乙個程序,除了init以外,所有的程序都有父程序。ps命令查詢與程序相關的pid號 ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。ps a 顯示所有程式。ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,...
Delphi 強制結束乙個程序(通過程序名稱)
強制結束乙個程序的 api 為 terminateprocess bool terminateprocess handle hprocess,程序控制代碼 uint uexitcode 退出 你可以使用語句 invoke terminateprocess,structprocinfo.hproces...
Linux檢視程序和結束程序
目錄 一 檢視程序資訊相關命令 1 ps aux 和 ps ef 命令 2 使用top命令跟蹤包括cpu 記憶體等系統資源占用情況 3 pstree命令以樹狀圖的方式展現程序關係 二 結束程序操作 1 使用檢視ps ef程序id資訊 2 使用kill killall 結束程序 附 使用netstat...