delphi之游戏窗口查找和控制
查找游戏窗口
procedure FindGameWindow;
var
h:THandle;
buf:array[0..255] of char;
begin
FillChar(buf,sizeof(buf),0);
h := GetForegroundWindow();
while (h<>0) do
begin
GetWindowText(h, buf, 255);
if (AnsiContainsStr(buf, '游戏标题名称')) then
begin
// 找到一个游戏窗口句柄,做记录或其他处理
end;
h:=GetNextWindow(h,2);
end;
end;
然后,可以
1.判断游戏窗口是否存在?
IsWindow(h)
2.激活到前台
if IsWindow(h) then
begin
SetForegroundWindow(h);
ShowWindow(h,SW_RESTORE);
end;
3.最小化
if IsWindow(h) then
begin
CloseWindow(h);
end;