![]() |
Tastenaktion
Nabend !
ich hab folgendes Problem : Ich möchte per Klick auf einen Button die gleiche Aktion auslösen als wenn ich die Windows-Taste drücke (z.b. die linke Windows-Taste). Wäre kuhl wenn mir jemand helfen könnte! MfG Zokka114 |
Re: Tastenaktion
Hallo,
ich glaube du meinst sowas hier:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin keybd_event(VK_LWIN, 0, 0, 0); keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0); end; |
Re: Tastenaktion
Klappt Super ! :thumb:
Danke! Kannst du vielleicht erklären was die ganzen Werte, die in Klammern stehen, bedeuten ? |
Re: Tastenaktion
Hier kannst du es nachlesen:
![]() und noch ein Link für die Liste der virtuellen Tastencodes: ![]() |
Re: Tastenaktion
Mein Ziel ist es Windows durch eine Folge von Tasten-Aktionen herunterzufahren.
Ich hab mich schon im Netz umgeschaut und festgestellt das man Windows XP nich einfach per "ExitWindowsEx" herunterfahren kann. Nun dachte ich mir das man einfach virtuell die 'Windows-taste' dann die 'C-Taste' und dann die 'A-Taste' drücken lassen kann. So müsste der Rechner mit einem klick runterfahren. Nur Delphi erkennt VK_C und VK_A nicht !
Delphi-Quellcode:
Warum funktionieren die einfachen Zahlen (z.B.VK_8) oder Buchstaben (z.B. VK_C) nicht ?
procedure TForm1.Button1Click(Sender: TObject);
begin keybd_event(VK_LWIN, 0, 0, 0); keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_C, 0, 0, 0); keybd_event(VK_C, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_A, 0, 0, 0); keybd_event(VK_A, 0, KEYEVENTF_KEYUP, 0); end; MfG |
Re: Tastenaktion
Zitat:
Delphi-Quellcode:
keybd_event(ord('C'), 0, 0, 0);
keybd_event(ord('C'), 0, KEYEVENTF_KEYUP, 0); Zitat:
![]() Der Aufruf der Funktion erfolgt so:
Delphi-Quellcode:
ExitWin(EWX_SHUTDOWN);
|
DP-Maintenance
Dieses Thema wurde von "SirThornberry" von "Klatsch und Tratsch" nach "Windows API / MS.NET Framework API" verschoben.
|
Re: Tastenaktion
Danke mit deiner Hilfe funktioniert jetzt mein Schutdown-Programm wie ich es wollte !
MfG zokka114 :-D |
Re: Tastenaktion
Aber eine Frage hätte ich da noch ! :wink:
Wie kann man denn Zwei Tasten gleichzeitig "virtuell" drücken lassen ? MfG |
Re: Tastenaktion
Hallo,
versuche es mal so:
Delphi-Quellcode:
VK_SHIFT und C
keybd_event(vk_Shift,0,0,0);
keybd_event(ord('C'),0,0,0); keybd_event(vk_Shift,0,keyeventf_keyup,0); keybd_event(ord('C'),0,keyeventf_keyup,0); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14: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