如何取得某进程的句柄 = =?谢谢了

来源:百度知道 编辑:UC知道 时间:2024/09/18 05:34:58
有API最好
没有有方法也可以
顺便问一下
GetCurrentProcess是干嘛的??怎用啊??
谢谢了

如果你知道窗口的标题
可以用findwindow来获取句柄
如果只知道进程名
可以用Toolhelp32Snapshot来获得句柄

我给你delphi的做法

uses TLHelp32;

function GetHandle(ExeFileName: string): integer;
const
PROCESS_TERMINATE=$0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
result:= 0;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle,FProcessEntry32);
while integer(ContinueLoop) <> 0 do
begin
if FProcessEntry32.szExeFile=ExeFileName then
Result := FProcessEntry32.th32ProcessID;
ContinueLoop := Process32Next(FSnapshotHandle,FProcessEntry32);
end;
end;

传入进程名,返回进程的句柄

有的,获得指定进程句柄的方法很多.

首先用 CreateToolhelp32Snapshot 获得系统快照然后用 Process32First 获得第一个进程然后用 Process32Next 获得下一个进程依次类推,然后判断如果是想呀的进程