![]() |
|
|
|
|
#1
|
|||
|
|||
|
помогите пожалуйста сэмулировать нажатие клавиш вообще.. тоесть, нажимать на кнопку (любую, включая мышь) независимо от того какое окно активно...
|
|
#2
|
|||
|
|||
|
можно попробовать получить активное окно и послать ему WM_CHAR и/или WM_MOUSE.
|
|
#3
|
|||
|
|||
|
и как же это осуществить?
|
|
#4
|
|||
|
|||
|
Послать - через SendMessage.
получить активное окно - там есть функции навигации по Z-стеку окон в API. навскидку не помню - посмотри по справке (MSDN). |
|
#5
|
|||
|
|||
|
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
i : Integer;
H : Hwnd;
begin
H := FindWindow('окно', 0);
begin
For i:=1 to length(Edit1.text) do
sendmessage(H, wm_char, ord(Edit1.text[i]), 0);
SendMessage(H, WM_KEYDOWN, vk_return, 0);
SendMessage(H, WM_KEYUP, vk_return, 0);
end;
end;здесь нужно знать точное окно... а как сделать чтобы он отправлял на любое активное? Последний раз редактировалось Admin, 19.12.2008 в 19:19. |
|
#6
|
|||
|
|||
|
да, и, нажатие мыши здесь не получится сэмулировать
|