给同一类型窗口发消息
//方法一
procedure TForm1.Button1Click(Sender: TObject);
var
H_window: HWND;
Text: array[0..255] of char;
begin
H_window := GetWindow(Handle,GW_HWNDFIRST);
While H_window<>0 do
begin
if GETWindowText(H_window,@text,255)>0 then
if((StrPas(@Text)='QQ2012'))then
sendmessage(H_window,WM_SYSCOMMAND,SC_MINIMIZE,0);
H_window:=GetWindow(H_Window,GW_HWNDNEXT);
end;
end;
//方法二
function EnumWindowsProc_2(hwnd: HWND; lParam: LPARAM): Boolean; stdcall;
procedure TForm1.Button2Click(Sender: TObject);
begin
EnumWindows(@EnumWindowsProc_2, 0);
end;
function EnumWindowsProc_2(hwnd: HWND; lParam: LPARAM): Boolean; stdcall;
var buf: array[Byte] of Char;
begin
GetWindowText(hwnd, buf, SizeOf(buf));
if buf = 'QQ2012' then
sendmessage(hwnd,WM_SYSCOMMAND,SC_MINIMIZE,0);
Result := True;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
EnumWindows(@EnumWindowsProc_2, 0);
end;
function EnumWindowsProc_2(hwnd: HWND; lParam: LPARAM): Boolean; stdcall;
var buf: array[Byte] of Char;
begin
GetWindowText(hwnd, buf, SizeOf(buf));
if buf = 'QQ2012' then
sendmessage(hwnd,WM_SYSCOMMAND,SC_MINIMIZE,0);
Result := True;
end;