uschade
Goto Top

Mit VBA die Tasenkombination AltGr+Tab oder Alt+Tab simulieren

Hallo liebe Admins,


ich möchte auf unseren Terminals, an denen keine Tastatur angeschlossen ist, den Mitarbeitern die Möglichkeit geben zwischen zwei Anwendungen im Vollbildmodus hin und her zu schalten.
Die Terminals verfügen über Touchscreens.

Meine Grundidee ist jetzt, dass ich in VBA ein kleines Programm schreibe, das letztendlich nur einen Button zeigt, der die Tastenkombination Alt+TAB ausführt, damit eben zum jeweils anderen Programm geswitcht wird, wenn der Mitarbeiter auf den Button tippt.

Der Button soll immer im Vordergrund sein und einen festen Platz unten links auf dem Bildschirm einnehmen.

Das entsprechende Programm würde beim Starten des Terminals automatisch mitgestartet werden und soll vom Benutzer nicht beendet werden können.

Ich wäre euch sehr dankbar für ein paar Tips.

Sollte jemand eine alternative Lösung haben....ist ok, schau auch mir natürlich auch gerne an.

Grüße

Uwe

Content-Key: 284757

Url: https://administrator.de/contentid/284757

Printed on: May 29, 2024 at 06:05 o'clock

Mitglied: 114757
114757 Oct 06, 2015 at 15:15:12 (UTC)
Goto Top
OnScreen-Tastatur einblenden lassen, kann man einen Button auf die Taskleiste legen.
Ansonsten mit einem AutoIt-Script schnell zusammengeschnippselt...

Gruß jodel32
Member: colinardo
Solution colinardo Oct 06, 2015, updated at Oct 07, 2015 at 14:34:05 (UTC)
Goto Top
Hallo Namensvetter,
kleines Auto-IT-Skript zur EXE kompiliert:
#NoTrayIcon
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)  
$formMain = GUICreate("Tools", 114, 50, -1, -1,-1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_TOPMOST))  
GUISetOnEvent($GUI_EVENT_CLOSE, "formMainClose")  
$btnSwitch = GUICtrlCreateButton("ALT-TAB", 0, 0, 113, 49)  
GUICtrlSetOnEvent(-1, "btnSwitchClick")  
GUISetState(@SW_SHOW)
While 1
    Sleep(100)
WEnd
Func btnSwitchClick()
    Send("!+{TAB}")  
EndFunc
Func formMainClose()
	exit 0
EndFunc
Title-Bar etc kann man auch komplett ausblenden und den Button an einer festen Stelle platzieren, das wäre dann z.B. folgender Code um den Button unten Links auf den Bildschirm zu setzen:
#NoTrayIcon
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)  
$formMain = GUICreate("formMain", 114, 50, 50, @DesktopHeight - 150, $WS_POPUP, BitOr($WS_EX_TOPMOST,$WS_EX_TOOLWINDOW))  
GUISetOnEvent($GUI_EVENT_CLOSE, "formMainClose")  
$btnSwitch = GUICtrlCreateButton("ALT-TAB", 0, 0, 113, 49)  
GUICtrlSetOnEvent(-1, "btnSwitchClick")  
GUISetState(@SW_SHOW)
While 1
    Sleep(100)
WEnd
Func btnSwitchClick()
    Send("!+{TAB}")  
EndFunc
Func formMainClose()
	exit 0
EndFunc

Grüße Uwe
Member: Uschade
Uschade Oct 06, 2015 at 17:21:54 (UTC)
Goto Top
Ich bin begeistert. Danke erstmal bis hier her, werde das morgen gleich testen...evtl. heute Abend noch...und geb dann Feedback.

Grüße und gute Nacht
Member: Uschade
Uschade Oct 06, 2015 at 17:58:19 (UTC)
Goto Top
Hallo jodel32

die OnScreen-Tastatur kam mir auch in den Sinn, aber die Mitarbeiter sollen keine Tastatur haben...sie sollen nur zwischen den Programmen wechseln können, nicht mehr, nicht weniger.
Hab ich scheinbar nicht deutlich genug geschrieben...mein Fehler.
Danke trotzdem für den Tipp.
Member: Uschade
Uschade Oct 07, 2015 at 14:33:58 (UTC)
Goto Top
Vielen Dank nochmal an alle, dsa Problem wurde gelöst