Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Tastenkombinations in System senden (https://www.delphipraxis.net/201988-tastenkombinations-system-senden.html)

stalkingwolf 17. Sep 2019 08:59

Tastenkombinations in System senden
 
Gibt es die Möglichkeit eine Tastenkombination in das System zu senden, so dass ein anderes Programm darauf reagiert.

Hintergrund :
Telefonanlagen Software reagiert z.b auf STRG+ALT+F11 und wählt die Nummer welche aktuell in der Zwischenablage steht.
Nummer in die Zwischenablage setzen ist kein Problem, aber wie simuliert man die Tastenkombination als wäre sie vom Benutzer gedrückt worden und Drittsoftware reagiert darauf.

Falls jemand fragt. TAPI funktioniert scheinbar nicht mit der Telefonanlage. :-D

DeddyH 17. Sep 2019 09:10

AW: Tastenkombinations in System senden
 
MSDN-Library durchsuchenSendInput oder MSDN-Library durchsuchenkeybd_event fallen mir da spontan ein.

TiGü 17. Sep 2019 09:12

AW: Tastenkombinations in System senden
 
Probiere mal das:
https://github.com/WladiD/SendInputHelper

stalkingwolf 17. Sep 2019 09:32

AW: Tastenkombinations in System senden
 
Ok danke. Schau ich mir einmal an.

stalkingwolf 17. Sep 2019 10:49

AW: Tastenkombinations in System senden
 
Ok habe es mit keybd_event hinbekommen.

Code:
Windows.keybd_event(VK_LMENU, Windows.MapVirtualKey(VK_LMENU, 0), KEYEVENTF_EXTENDEDKEY, 0);
Windows.keybd_event(VK_F11, Windows.MapVirtualKey(VK_F11, 0), KEYEVENTF_EXTENDEDKEY, 0);
Windows.keybd_event(VK_F11, Windows.MapVirtualKey(VK_F11, 0), KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
Windows.keybd_event(VK_LMENU, Windows.MapVirtualKey(VK_LMENU, 0), KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
Wie sende ich aber einen normalen Buchstaben. z.b ord('r') nimmt er nicht an.
Habe Versucht mit VK_LWIN + 'r' einmal das Ausführen aufzurufen.
VK_LWIN funktioniert. Das 'r' kommt nie an.


Erledigt !!!!!!!!!!!!! ord('R') :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 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