ďťż

Ładny brzuch

Witam
Zapytam krótko.
Jak zrobić by program wcisnął klawisz ten, który znajduje się w polu Edit1.Text?

Próbowałem kombinować z:
keybd_event(vk_F1, 0,0,0); keybd_event(vk_F1, 0, KEYEVENTF_KEYUP, 0);

tzn

var i: integer; k:string; begin k:=LableEdit3.Text; for i:=1 to Length(k) do begin keybd_event(VkKeyScan(k[i]), 1,0,0); keybd_event(VkKeyScan(k[i]), 1, KEYEVENTF_KEYUP,0);

ale działa inaczej = pobiera wszystkie znaki z Edit i je wciska jako wyraz. Zresztą to przez ten "string". Równie dobrze mógłbym wpisać:
k:='cokolwiek';

Czy mógłby mi ktoś pomóc? W polu edit wpiszę:
vk_F1
i program wciśnie klawisz F1.
Wpiszę vk_2 = naciśnie F2 itd.

Byłbym wdzięczny za pomoc

/edit
dodam, że mam już zrobione przechwytywanie klawiszy tzn jak w firefoxie wcisnę " [ " to program zareaguje na to i wciśnie to co jest w Edit3.Text w programie.
Tylko narazie jak wciskam --> [
to wpisuje mi: vk-f1, a musi wcisnąć F1.
Użytkownik buster edytował ten post 23 kwiecień 2008, 10:55


Migajek pomógł mi prywatnie za co chciałbym mu tu podziękować - dzięki migajku ;]

zastosowałem warunki:

If edit1.text='F1' then i tu kodzik
end
else

i tak dalej

Wszystko działa jak należy.
Topic można zamknąć (czasami proste rozwiązania są najlepsze)

a nie prościej skorzystać z sndkey32.pas, który jest na pewno w D7 a jak nie masz to mogę podesłać - masz tam już dokładnie coś takiego zaimplementowane
Użytkownik Misiekd edytował ten post 25 kwiecień 2008, 08:02
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •