Witam.
Piszę, ponieważ posiadam problem z delphi i funkcją findwindow.
Chciałem tylko, żeby delphi wpisywało w notatnik np. "q", jednak po prostu to nie działa.
Ogólnie to nazwa okna notatnika to "Bez Tytułu - Notatnik", a procedurę mam taką:
procedure Hook;
begin;
H := FindWindow( Pchar(Form1.Edit3.text), nil );
GetWindowThreadProcessID(H, @PID);
IDProcess := OpenProcess(PROCESS_ALL_ACCESS, false, PID);
if H < 1 then
begin
application.Title:='ERROR';
Form1.Timer1.Enabled := false;
ShowMessage( 'Error!' );
end else begin
Form1.Timer1.Enabled := true;
end;
end;
Gdy w Edit3 wpisuję taką nazwę okna: Bez Tytułu - Notatnik to niestety pojawia się napis "Error" jak w procedurze. Nie wyświetla się tylko jak wpiszę "notepad". Czemu w takim razie nazwą okna ma być notepad, skoro nazwa jego okna jest inna?
W timerze natomiast mam po prostu wcisnijklawisz(edit1.text).
function wcisnijklawisz(x :string): string;
var
h: HWND;
i : integer;
begin
i := 0;
begin
if x ='Q' then
i := 81;
if x ='E' then
i := 13;
h := FindWindow(nil, Pchar(Form1.Edit3.text));
PostMessage(h, WM_KEYdown, i, 0);
PostMessage(h, WM_KEYUP, i, 0);
end;
end;
Proszę o pomoc. Dziękuję.