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/)
-   -   Hotkey Simulation für Win 7 (https://www.delphipraxis.net/170228-hotkey-simulation-fuer-win-7-a.html)

needmorecoffee 6. Sep 2012 08:02

Hotkey Simulation für Win 7
 
Hallo,

ich habe einen etwas älteren code heraus gekramt, der Alt+Tab und nachfolgend Strg+V simuliert. Funktioniert wunderbar in Win XP, allerdings nicht in Win 7:

Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
        If CheckBox1.Checked
        then begin
        //Alt+Tab
        Keybd_Event(VK_MENU,0,0,0);
        Keybd_Event(VK_TAB,0,0,0);
        Keybd_Event(VK_TAB,0,KEYEVENTF_KEYUP,0);
        Keybd_Event(VK_MENU,0,KEYEVENTF_KEYUP,0);

        //Strg+V
        keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);
   keybd_event(Ord('V'), MapVirtualKey(Ord('V'), 0), 0, 0);
   keybd_event(Ord('V'), MapVirtualKey(Ord('V'), 0), KEYEVENTF_KEYUP, 0);
   keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0);
end;
end;
Kann mir jemand sagen warum?

Viele Grüße
Tim

hathor 6. Sep 2012 09:03

AW: Hotkey Simulation für Win 7
 
Schon mal Als Administrator ausführen angeklickt?

Ausserdem:

Keybd_Event ist veraltet.

SendInput: http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

needmorecoffee 6. Sep 2012 09:06

AW: Hotkey Simulation für Win 7
 
Ja, hab ich als Admin gemacht.

Alt+Tab scheint auch zu funktionieren, Strg+V aber nicht.

Nutze übrigends Delphi 6 :roll:

hathor 6. Sep 2012 09:25

AW: Hotkey Simulation für Win 7
 
Ich meine NICHT, ob Du als Admin angemeldet bist,
sondern ob Du das Programm mit RECHTSKLICK Als Administrator ausführen gestartet hast!
Das sind zwei verschiedene Sachen...

Ausserdem:
MapVirtualKeyW (Unicode) and MapVirtualKeyA (ANSI)

himitsu 6. Sep 2012 11:42

AW: Hotkey Simulation für Win 7
 
An was soll denn das gesendet, bzw was soll denn von wo kopiert werden?

Und falls möglich, warum überhaupt dieser Umweg und nicht direkt das, was man eigentlich machen wollte?
MSDN-Library durchsuchenSetForegroundWindow, MSDN-Library durchsuchenSetActiveWindow, MSDN-Library durchsuchenSetFocus und MSDN-Library durchsuchenWM_PASTE

ByTheTime 6. Sep 2012 17:05

AW: Hotkey Simulation für Win 7
 
Versuch es mal mit den JEDI Komponenten, erhältlich hier. Kostenlos und bieten sehr viele Interessante Komponenten. Mit der HotKey-Komponente kann man dann ganz einfach einen selbst festgelegten HotKey ausführen:


Delphi-Quellcode:
procedure TfrmMain.MyHotKey1HotKey(Sender: TObject);
begin
  frmMain.Close;
end;
Installation:

1. Runterladen
2. Zip-Datei in den Delphi-Ordner entpacken
3. Ins entpackte Verzeichnis JVCL gehen und die install.bat ausführen. Rest erklärt sich von selbst.

Grüße,
Lukas


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz