Thema: Delphi Tasten ausgeben

Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#9

Re: Tasten ausgeben

  Alt 2. Mai 2008, 03:59
Zitat von KleinAmann:
hey wenn ich jetzt schreib :

PostMessage(wnd, WM_KEYDOWN, VK_NUMPAD1, 0); dann schreibt er ein "c" statts ne "1".

Wa hab ich falsch gemacht?

Mfg KleinAmann
Wenn du die Tasten mit keybd_event sendest, muss Notepad den Focus haben.
Mit PostMessage nicht.

Probiere es so:
PostKey(wnd, VK_NUMPAD1);
Delphi-Quellcode:
procedure PostKey(hWindow: HWND; key: Word);
begin
  if IsWindow(hWindow) then begin
    PostMessage(hWindow, WM_KEYDOWN, key,
      MakeLong(0, MapVirtualKey(key, 0)));
    PostMessage(hWindow, WM_KEYUP, key,
      MakeLong(0, MapVirtualKey(key, 0) or $C000));
  end;
end;
Thomas
  Mit Zitat antworten Zitat