![]() |
keybd_event + Vereinfachung
Hallo, lässt sich das noch vereinfachen ? Ich möchte gerne die Caption vom Label welche schon das Zeichen ist, direkt einsetzen, jedoch StringToChar oder Ähnliches habe ich nicht gefunden.
So müsste ich alle Zeichen einzeln auflisten, obwohl diese schon in der Caption stecken.
Delphi-Quellcode:
MfG bluescreen25
if TLabel(Sender).caption = 'A' then
begin windows.keybd_event(ord('A'), 0, 0, 0);//Beispiel // Simuliere down keybd_event(ord('A'), 0, KEYEVENTF_KEYUP, 0); // Simuliere up end; |
Re: keybd_event + Vereinfachung
meinste sowas ?
Delphi-Quellcode:
windows.keybd_event(ord(TLabel(Sender).caption[1]), 0, 0, 0);//Beispiel // Simuliere down
keybd_event(ord(TLabel(Sender).caption[1]), 0, KEYEVENTF_KEYUP, 0); // Simuliere up |
Re: keybd_event + Vereinfachung
Zitat:
Kannste mir das [1] erklären, damit ich auch verstehe, warum diese Konstellation funktioniet? Gruß,bluescreen25 |
Re: keybd_event + Vereinfachung
mit [1] greifst du auf das erste zeichen im string zu, mit [2] auf das zweite usw.
aufpassen mußt du, das du nicht zu weit gehst, den dann bekommst du einen fehler mit
Delphi-Quellcode:
kannst du per schleife auf alle chars des strings zugreifen
text := TLabel(Sender).Caption;
for i:=1 to length(text) do begin keybd_event(ord(text[i]), 0, 0, 0);//Beispiel // Simuliere down keybd_event(ord(text[i]), 0, KEYEVENTF_KEYUP, 0); // Simuliere up end; |
Re: keybd_event + Vereinfachung
|
Re: keybd_event + Vereinfachung
Die Basisidee taugt nicht viel, da sie darauf basiert das der ASCII-Code und der virtuelle Keycode uebereinstimmen. Das stimmt allerdings nicht fuer alle moeglichen Tasten. Setz doch den Tag der Labels. Im Tag steht ein Index in ein Array das die virtuellen Tastencodes enthaelt.
|
Re: keybd_event + Vereinfachung
Zitat:
Ich stll das ganze nacher mal vor.. Gruß bluescreen25 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz