1. 程序的掛起與恢復
// 程序掛起與恢復
function suspendprocess(hprocess:thandle):dword;stdcall;external 'ntdll.dll' name 'zwsuspendprocess';
function resumeprocess(hprocess:thandle):dword;stdcall;external 'ntdll.dll' name 'zwresumeprocess';
//程序掛起與恢復結束
function getfilepaths(h:pchar):string;
varname:hwnd;
pid:dword;
irad,hprocess:cardinal;
processhwnd:thandle;
buf:array [0..max_path] of char;
begin
name:=findwindow(nil,h);
getwindowthreadprocessid(name,@pid);//獲取程序id
processhwnd:=openprocess(process_all_access,false,pid);//獲取程序控制代碼
getmodulefilenameex(processhwnd, 0, buf, length(buf));
closehandle(processhwnd);
result := buf;
end;
2..查指定程序 pid
// 指定程序的pid
3.根據指定程序的 pid 取程序路徑
// 根據程序id 取程序路徑
function tform1.getprocesspath(processid: dword): string;
varhand: thandle;
modname: array[0..max_path-1] of char;
hmod: hmodule;
n: dword;
begin
result:='';
hand:=openprocess(process_query_information or process_vm_read,
false,
processid);
if hand>0 then
tryenumprocessmodules(hand,@hmod,sizeof(hmod),n);
if getmodulefilenameex(hand,hmod,modname,sizeof(modname))>0 then
result:=extractfilepath(modname);
except end;
end;
4. 查詢程序
5. 殺程序
.... 等續....
Delphi的幾個問題
1 除基本型別可相容外,其他的型別只要是在不同的單元中定義的,就算宣告一樣,也屬不同的型別,例如 a.pas 與 b.pas 均宣告了 ttest aaedit,aamemo 這是兩個不同的型別,因此以下 無法編譯 提示宣告不同 a1.pas uses a,b type ttestobj class...
幾個實用的linux命令
檢視當前登入的賬戶 who am ifree 顯示記憶體狀態用法 free m s m 表示記憶體的狀態用 m 為單位來表示,s 表示重新整理的時間間隔,秒為單位 示例 free m s 3mount a a mount allfilesystems of the given types menti...
幾個實用的mysql指令碼
1 修改資料庫中所有表的某個同名字段列 create procedure 儲存過程名 begin 定義迴圈條件 declare flag int default 0 儲存表名 declare tname varchar 50 查詢資料庫super star中含有school code列的表,如果區分...