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.
var op:integer;
begin
op:= ord('k');
keybd_event(op,0,0,0);
keybd_event(op,0,KEYEVENTF_KEYUP,0);
end;
ale jak mam zasymulować znak ASCII ?
przecież MIlka ci już podał :| zamiast "op" daj sobie to co tam potrzebujesz ...
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 :-/
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.
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 :>
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)
jak ustawić taki focus odwołując się do zwykłego notatnika? niezły bajer by to był :)
SetForegroundWindow(Uchwyt);
Kris19000: Poza tym ostatni post przed Twoim w tym wątku był ponad 3 lata temu, po co to odgrzebywać?