Нажатие Клавиш В Выбранном Окне

AD0

New member
26.05.2010
1
0
#1
Код:
procedure flood();
begin
wnd := form1.combobox1.ItemIndex;
PostMessage(wnd,WM_SETFOCUS,0,0);
setforegroundwindow(wnd);
inp.Itype:=INPUT_KEYBOARD;
inp.ki.wVk:= Ord(UpCase('F'));
inp.ki.dwFlags:=0;
for i := 1 to 10 do
begin
SendInput(70, inp, SizeOf(inp));
end;
showmessage('DONE');
Application.ProcessMessages;
end;

procedure TForm1.Action1Execute(Sender: TObject);
begin
flood;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
combobox1.clear;
wnd := GetWindow(handle, gw_hwndfirst);
while wnd <> 0 do
begin // Не показываем:
if (wnd <> Application.Handle) // Собственное окно
and IsWindowVisible(wnd) // Невидимые окна
and (GetWindow(wnd, gw_owner) = 0) // Дочерние окна
and (GetWindowText(wnd, buff, SizeOf(buff)) <> 0) then
begin
GetWindowText(wnd, buff, SizeOf(buff));
combobox1.Items.Add(StrPas(buff));
end;
wnd := GetWindow(wnd, gw_hwndnext);
end;
combobox1.ItemIndex := 0;
end;
так клавиша не нажимается, уже как только не перепробывал...