derwowusste
Goto Top

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 face-smile 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"?

Content-Key: 249221

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

Printed on: April 23, 2024 at 16:04 o'clock

Member: Dani
Dani Sep 15, 2014 updated at 12:29:52 (UTC)
Goto Top
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
Member: ITvortex
ITvortex Sep 15, 2014 at 12:31:02 (UTC)
Goto Top
Hey,

welche Maus benützt er den?

lg
Member: DerWoWusste
DerWoWusste Sep 15, 2014 updated at 13:17:59 (UTC)
Goto Top
Hi.

@Dani: Das Beispiel ist sowas von konfus in meinen Augen, bis ich das verstanden habe, ist Feierabend, oder geht Dir das anders? Und der Workaround ist nicht Alt-TAB.
@ITvortex: es ist eine MS Intellimouse nebst intellipoint 8.2 (gelistete OS: win7 als neuestes, Rest geht aber).
Member: ITvortex
ITvortex Sep 15, 2014 at 13:23:45 (UTC)
Goto Top
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
Member: DerWoWusste
DerWoWusste Sep 15, 2014 at 13:44:39 (UTC)
Goto Top
Wäre ok, wenn er denn funktioniert. win8 steht drauf, nicht 8.1. Selbst schon unter 8.1 benutzt?
Member: ITvortex
ITvortex Sep 15, 2014 at 14:05:44 (UTC)
Goto Top
Nur unter Windows 8. Das Verhalten auf Windows 8.1 habe ich noch nicht getestet,...
Member: Dani
Dani Sep 15, 2014 at 14:08:01 (UTC)
Goto Top
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:
%windir%\explorer.exe shell:::{3080F90E-D7AD-11D9-BD98-0000947B0257}
Ob diese allerdings an eine Maustaste binden kannst, weiß ich nicht.

Liest sich auf den Blick relativ simpel, geb ich zu. Ausprobieren werd ich's im Lab sobald ich wieder im Büro bin. face-smile


Gruß,
Dani
Member: ITvortex
ITvortex Sep 15, 2014 updated at 14:12:48 (UTC)
Goto Top
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!
Member: DerWoWusste
DerWoWusste Sep 15, 2014 updated at 14:28:04 (UTC)
Goto Top
An Dani und ITVortex: beides das Selbe und funktioniert nur bedingt. Leider macht es das, was STRG-Alt-Tab macht und nicht das was Alt-Tab tut.
Und Dr. Windows' Tool läuft auch nicht, nichts passiert beim Hover-over-Startleiste und Mausrad.
Member: colinardo
colinardo Sep 15, 2014 updated at 14:54:33 (UTC)
Goto Top
Zitat von @Dani:
Funtioniert problemlos unter 8.1. Es handelt sich um eine einfache Verknüpfung:
%windir%\explorer.exe shell:::{3080F90E-D7AD-11D9-BD98-0000947B0257}
Dani's Variante funktioniert hier ebenfalls einwandfrei....
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 face-smile.

Grüße Uwe

p.s. spendiert Ihm sowas und dann auf die Maustaste die TAB-Taste legen face-smile
Member: ITvortex
ITvortex Sep 15, 2014 at 14:41:25 (UTC)
Goto Top
Hi Uwe,

genau das meint er.

Was anderes fällt mir gerade nicht ein, und die Zeit fehlt gerade um mich näher damit zu beschäftigen.

Gruß Martin
Member: DerWoWusste
DerWoWusste Sep 15, 2014 at 15:17:02 (UTC)
Goto Top
Hi Uwe.

STRG+Alt und Tab einfach mal drücken... während bei Alt Tab von A nach B gewechselt wird, sobald man die Tasten wieder loslässt, passiert das bei STRG+Alt+Tab nicht.
Member: colinardo
Solution colinardo Sep 15, 2014, updated at Sep 16, 2014 at 13:49:05 (UTC)
Goto Top
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:
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:

83d729c066bd0089d49f52d43af7707d

  • 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
Member: DerWoWusste
DerWoWusste Sep 15, 2014 at 16:26:42 (UTC)
Goto Top
Hatte sowas schon beim Ausloten der Möglichkeiten überflogen, wollte es aber einfach nicht wahr haben...
Gut, werde ich so machen und habe dann bei Einhand-Joe so etwa 12 Wünsche frei. Danke!
Member: DerWoWusste
DerWoWusste Sep 16, 2014 at 13:49:01 (UTC)
Goto Top
"Dat löppt", wie wir Münsterländer sagen!
Nochmals herzlichen Dank, Colinardo!