[Delphi] - symulacja klawiatury

0

elo. Wiecie może jak zrobić program, który po naciśnięciu np: buttona chowa się i symuluje naciśnięcie jakiegoś klawisza z klawiatury. B.Potrzebne. Pozdrawiam całe 4p.

0
var op:integer;
begin
  op:= ord('k');
  keybd_event(op,0,0,0);
  keybd_event(op,0,KEYEVENTF_KEYUP,0);
end;
0

ale jak mam zasymulować znak ASCII ?

0

przecież MIlka ci już podał :| zamiast "op" daj sobie to co tam potrzebujesz ...

0

Hmm, ja też coś takiego próbowałem, i zwykła zamiana na nr ASCII była błędna, trzeba było jecze użyć f-cji zamieniającej ascii na VirtualKeys(f-cja API której nazwy <ort>nie</ort> pamiętam, aczkolwiek pod helpem(Win SDK) z wpisanym keybd_event() można znaleźć. Aczkolwiek i tak miałem problem, ponieważ nie rozróżniało małych i dużych liter, ani <ort>nie</ort> mogłem wrzucić znaków które się otrzymuje z wciśniętym Shiftem :-/

0

Symulujecie tu ale za pomącą "Wirtualnych kodów klawiszy" (wpiszcie w Googlach) i nie są to ASCII, ponieważ np w Ascii macie też małe i duże litery a na klawiaturze tylko litery aby zasymulować dużą literę trzeba najpierw zasymulować :

  • nacisniecie klawisza Shift
  • nacisniecie klawisza "k"
  • puszczenie klawisza "k"
  • puszczenie klawisza Shift
    I macie Dużą literę "K" zasymulowaną.
    Oczywiście key_event.
    Niektóre wirtualne klawisze zgadzają się z Ascii np ESC = vk_escape = 27 (w dziesiętnym) itp.
0

a moze mi ktos napisac jak zrobic zeby to dzialo sie poza programem ? no wiecie nie w programie tylko w ogóle w calym systemie :>

0

To działa na obiekcie (WinControl) na którym jest aktualnie focus.
Masz dwie opcje ;

  • ustawic focus na pulpit
  • wyszukac docelowo okno i ustawiń na nim focus

no i nieunikniona bedzie zabawa z handlami ;D (HWND)

0

jak ustawić taki focus odwołując się do zwykłego notatnika? niezły bajer by to był :)

0
  SetForegroundWindow(Uchwyt);

Kris19000: Poza tym ostatni post przed Twoim w tym wątku był ponad 3 lata temu, po co to odgrzebywać?

1 użytkowników online, w tym zalogowanych: 0, gości: 1