Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Probleme mit virtual keys (https://www.delphipraxis.net/9036-probleme-mit-virtual-keys.html)

Wotan 18. Sep 2003 09:00

Re: Probleme mit virtual keys
 
Ich wollte an ein dos-programm folgende Tasten senden:

Enter
E
NachUnten
Enter
....

hat auf einem rechner prima funktioniert. als ich es dann auch auf einem anderen rechner laufen lassen wollte, haben die pfeiltasten nicht mehr funktioniert.

Robert Marquardt 18. Sep 2003 09:23

Re: Probleme mit virtual keys
 
Eigentlich sollte das entweder mit KEYEVENTF_EXTENDEDKEY oder ohne funktionieren. Zeig doch mal deinen Code.
Bei Notebooks besteht aber immer eine gewisse Chance das ein spezieller Treiber (z. B. fuer Spezialtasten) dazwischenpfuscht.

Wotan 18. Sep 2003 10:23

Re: Probleme mit virtual keys
 
Hier ist ein Auszug aus meinem Prog.

....
if form6.listbox1.Items.Strings[x]='Enter' then
Begin
keybd_event(VK_return, MapVirtualKey(VK_return, 0), 0, 0);
keybd_event(VK_return, MapVirtualKey(VK_return, 0),KEYEVENTF_KEYUP,0);
End else
if form6.listbox1.Items.Strings[x]='Hoch' then
Begin
keybd_event(VK_down, MapVirtualKey(VK_up, 0), 0, 0);
keybd_event(VK_down, MapVirtualKey(VK_up, 0), KEYEVENTF_KEYUP, 0);
End else
if form6.listbox1.Items.Strings[x]='Runter' then
Begin
keybd_event(VK_down, MapVirtualKey(VK_down, 0), 0, 0);
keybd_event(VK_down, MapVirtualKey(VK_down, 0), KEYEVENTF_KEYUP, 0);
End else
if form6.listbox1.Items.Strings[x]='Links' then
Begin
keybd_event(VK_down, MapVirtualKey(VK_left, 0), 0, 0);
keybd_event(VK_down, MapVirtualKey(VK_left, 0), KEYEVENTF_KEYUP, 0);
End else
if form6.listbox1.Items.Strings[x]='Rechts' then
Begin
keybd_event(VK_down, MapVirtualKey(VK_right, 0), 0, 0);
keybd_event(VK_down, MapVirtualKey(VK_right, 0), KEYEVENTF_KEYUP, 0);
End else
....

Wie gesagt, läuft auf dem einen Rechner prima und auf dem anderen nicht.

Robert Marquardt 18. Sep 2003 10:54

Re: Probleme mit virtual keys
 
Erst mal den Fehler beheben. Innerhalb der Aufrufe ueberall den gleichen VK_ Code angeben.

keybd_event(VK_down, MapVirtualKey(VK_down, 0), 0, 0);
keybd_event(VK_down, MapVirtualKey(VK_down, 0), KEYEVENTF_KEYUP, 0);

Wenn das nicht hilft dann mal mit KEYEVENTF_EXTENDEDKEY.

keybd_event(VK_down, MapVirtualKey(VK_down, 0), KEYEVENTF_KEYDOWN or KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(VK_down, MapVirtualKey(VK_down, 0), KEYEVENTF_KEYUP or KEYEVENTF_EXTENDEDKEY, 0);

Es kann gut sein das es dann auf dem anderen aber nicht mehr auf dem einen Rechner geht.

Wotan 18. Sep 2003 12:16

Re: Probleme mit virtual keys
 
Hi Robert,

stimmt. ich hatte da teilweise die falschen vk_ codes drin.
aber beim vk_down ('runter') hat's ja gestimmt und nicht funktioniert.

ich werde jetzt mal die andere lösung von dir ausprobieren.

gruß wotan


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 Uhr.
Seite 2 von 2     12   

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