delphi查詢和結束程序

2021-05-22 04:49:56 字數 1686 閱讀 9153

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