Windows 8.1 und Autohotkey bzw sendkeys
Moin Kollegen,
ein Kollege hat sich unglücklicherweise die linke Hand gebrochen. Er arbeitet sehr viel mit Alt-Tab zum Umschalten von Anwendungen und nun soll Alt-Tab auf eine Maustaste gelegt werden ->Kann seine Maus-Software sogar, funktioniert jedoch nicht unter Windows 8.1 (keine Fehlermeldung). Somit hab ich ein Sendkeys-Skript geschrieben...funktioniert unter 8.1, jedoch nicht mit Alt-Tab (alles andere geht, so lustig das klingt). Dann habe ich es mit AutoHotkey versucht. Auch das kann es nicht..., genauso wenig wie AutoIT... Aaaaaahhhhhh
Ich habe anderes zu tun, aber die Admin-Kollegen sind im Urlaub...
Irgendwas scheint Win8.1 anders zu machen als Win7, denn die Anleitungen für 7 schlagen alle fehl.
Hat jemand "den Plan"?
ein Kollege hat sich unglücklicherweise die linke Hand gebrochen. Er arbeitet sehr viel mit Alt-Tab zum Umschalten von Anwendungen und nun soll Alt-Tab auf eine Maustaste gelegt werden ->Kann seine Maus-Software sogar, funktioniert jedoch nicht unter Windows 8.1 (keine Fehlermeldung). Somit hab ich ein Sendkeys-Skript geschrieben...funktioniert unter 8.1, jedoch nicht mit Alt-Tab (alles andere geht, so lustig das klingt). Dann habe ich es mit AutoHotkey versucht. Auch das kann es nicht..., genauso wenig wie AutoIT... Aaaaaahhhhhh
Irgendwas scheint Win8.1 anders zu machen als Win7, denn die Anleitungen für 7 schlagen alle fehl.
Hat jemand "den Plan"?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 249221
Url: https://administrator.de/forum/windows-8-1-und-autohotkey-bzw-sendkeys-249221.html
Ausgedruckt am: 11.04.2025 um 17:04 Uhr
15 Kommentare
Neuester Kommentar
Hallo @DerWoWusste,
dein Problem wird im AutoHotKey-Forum monatlich breitgetreten. EIn Beispiel findest du hier.
Im AutoIT-Forum gibt es ebenfalls einen Workaorund.
Gruß,
Dani
dein Problem wird im AutoHotKey-Forum monatlich breitgetreten. EIn Beispiel findest du hier.
Im AutoIT-Forum gibt es ebenfalls einen Workaorund.
Gruß,
Dani
Wie wäre ein Mouse Switcher als kurzfristigen Ersatz bis wir eine Lösung gefunden haben? http://www.drwindows.de/windows-tools/53745-mouse-switcher-maus-scrollr ...
lg Martin
lg Martin
Zitat von @DerWoWusste:
Wäre ok, wenn er denn funktioniert. win8 steht drauf, nicht 8.1. Selbst schon unter 8.1 benutzt?
Funtioniert problemlos unter 8.1. Es handelt sich um eine einfache Verknüpfung:Wäre ok, wenn er denn funktioniert. win8 steht drauf, nicht 8.1. Selbst schon unter 8.1 benutzt?
%windir%\explorer.exe shell:::{3080F90E-D7AD-11D9-BD98-0000947B0257}
Liest sich auf den Blick relativ simpel, geb ich zu. Ausprobieren werd ich's im Lab sobald ich wieder im Büro bin.
Gruß,
Dani
Hier: http://www.eightforums.com/tutorials/10135-window-switcher-shortcut-cre ...
Alt Tab als Shortcut für die Taskleiste ;)
lg Martin
PS: Habs eben unter Win 8.1 getestet - funktioniert bei mir ohne Problem!
Alt Tab als Shortcut für die Taskleiste ;)
lg Martin
PS: Habs eben unter Win 8.1 getestet - funktioniert bei mir ohne Problem!
Zitat von @Dani:
Funtioniert problemlos unter 8.1. Es handelt sich um eine einfache Verknüpfung:
Dani's Variante funktioniert hier ebenfalls einwandfrei....Funtioniert problemlos unter 8.1. Es handelt sich um eine einfache Verknüpfung:
%windir%\explorer.exe shell:::{3080F90E-D7AD-11D9-BD98-0000947B0257}
Was meinst du für einen Unterschied zwischen STRG-Alt-Tab und ALT-TAB ?? Sehe da keinen Unterschied, außer das man bei STRG-ALT-TAB noch den Eintrag anklicken oder Enter drücken muss. Irgendwie muss er ja bestätigen zu welcher App er wechseln will - das kann er ja dann mit der linken Maustaste machen, oder ist der Zeigefinger auch gebrochen
Grüße Uwe
p.s. spendiert Ihm sowas und dann auf die Maustaste die TAB-Taste legen
OK, also was ich gerade erfolgreich getestet habe ist folgendes. Der Grund warum eine Anwendung unter Windows 8.1 die ALT-TAB Funktion nicht ohne Modifikation aufrufen kann ist, das ein Prozess mit niedrigeren Privilegien keine Nachrichten (über das SendMessage API) an Prozesse senden kann welche mit höheren Privilegien gestartet wurden, und das ist ja bei der ALT-TAB Funktion der Fall.
Dies lässt sich aber umgehen wenn man folgendes für die eigene Anwendung umsetzt:
In der Praxis waren das dann folgende Schritte:
Noch als Hinweis, falls es Probleme mit dem Manifest geben sollte: Das Manifest sollte eine Größe haben die durch 4 teilbar ist. D.h wenn das Manifest meinetwegen 943 Bytes groß ist, muss man am Ende des XML-Codes noch ein Leerzeichen hinzufügen, so dass man 944 Bytes erreicht. Im Test war das bei mir aber nicht nötig.
Damit kann er dann schon mal zwischen der zuletzt aktiven und der aktuellen Anwendung hin und her wechseln.
Hier erfolgreich auf einem Windows 8.1 getestet.
Grüße Uwe
Dies lässt sich aber umgehen wenn man folgendes für die eigene Anwendung umsetzt:
1. Das Application Manifest muss das Attribut 'uiAccess' mit dem Wert 'True' besitzen
2. Die EXE muss mit einem vertrauten Zertifikat signiert sein.
3. Die EXE muss aus einem vertrauenswürdigen Verzeichnis ausgeführt werden (z.B. C:\Program Files(x86))
In der Praxis waren das dann folgende Schritte:
- AutoIt-Script mit folgendem Inhalt erstellen:
#NoTrayIcon
Send("!{TAB}")
- Dann die EXE kompilieren und mit ResourceHacker öffnen
- Dort dann im Application Manifest uiAccess auf true festlegen:
- Dann ein Codesigning-Zertifikat erstellen z.B. mit makecert (enthalten im Windows SDK)
makecert -r -pe -n "CN=TestCert" -ss My testcert.cer
- Nun die EXE mit diesem Zertifikat signieren, in diesem Beispiel mit signtool (ebenfalls enthalten im Windows SDK)
signtool.exe sign /v /s My /n "TestCert" "c:\Pfad\ALTTAB.exe"
- Jetzt diese EXE auf den Zielrechner kopieren und dort das gerade erstellte Zertifikat in den Certifikats-Store importieren ,so dass diesem vertraut wird.
- Zum Schluss (wichtig!) muss die EXE noch in einen Ordner dem Windows vertraut (z.B. C:\Program Files(x86)), kopiert werden.
Noch als Hinweis, falls es Probleme mit dem Manifest geben sollte: Das Manifest sollte eine Größe haben die durch 4 teilbar ist. D.h wenn das Manifest meinetwegen 943 Bytes groß ist, muss man am Ende des XML-Codes noch ein Leerzeichen hinzufügen, so dass man 944 Bytes erreicht. Im Test war das bei mir aber nicht nötig.
Damit kann er dann schon mal zwischen der zuletzt aktiven und der aktuellen Anwendung hin und her wechseln.
Hier erfolgreich auf einem Windows 8.1 getestet.
Grüße Uwe