Alt+tab mapping isn't working anymore in Windows 8
This isn't just in autohotkey it happens in other software like my driver software by Logitech that still hasn't been updated for windows 8.
Hey, I had the same problem with Win 8 and I found a little workaround for myself.
You can still toggle between the windows but I didn't found a way to show the AltTab menu.
It's possible if you useLAlt::AltTabMenuxyz & Alt::AltTabMenu
You can try to use your mouse software to map a button to Alt (that's what I did) or use AHK to do this.
Wingfool you fat! I mean, Wingfat you fool!
Line from Woody Allen's movie "What's Up Tiger Lilly?"
-----------------------------
~LAlt & z::AltTabMenu~doesnt supperss the function of the key
so now, Left Alt + letter Z should make it launch..
Wingfool you fat! I mean, Wingfat you fool!
Line from Woody Allen's movie "What's Up Tiger Lilly?"
-----------------------------
Thanks to Cliff Smolinsky for posting the following on the Synergy issue tracker:
A number of security changes have been implemented in Windows 8 which prevent programs which are not Metro apps from injecting keys that would remove you from the Metro environment. The way this works is that the keyboard shortcut is ignored if it doesn't come from a physical keyboard or a program that has the appropriate permissions. [...] In order to have the proper permissions, the program must be built with UIAccess (see http://msdn.microsof...y/ms742884.aspx).
I was unable to confirm this via any official source, aside from the following vague comment at MSDN:
An accessibility application can use SendInput to inject keystrokes corresponding to application launch shortcut keys that are handled by the shell. This functionality is not guaranteed to work for other types of applications.
Now I am using SetWindowsHookEx(WH_KEYBOARD_LL, MyTaskKeyHookLL, ...) to hook system keys (Win, Alt+TAB). Function MyTaskKeyHookLL located in separate DLL and works in separate thread.However, MyTaskKeyHookLL catches ALT and TAB presses and releases. It seems that window switching works before hooking.
http://www.autohotke...ative-programs/ doesn't help now, because 1). you still can't sign autohotkey compiled exe file and 2). loading EnableUIAccess.ahk will lead to #Include file "" cannot be opened. 3). edit in EnableUIAccess.ahk #Include <Cert.ahk> into #Include Cert.ahk will solve "2)." but will lead to another warning
I have no idea how configure Compatibility Administrator for allowing use Alt-Tab for my script
at http://social.msdn.microsoft.com/Forums/en-US/windowsaccessibilityandautomation/thread/4b6dbc43-a026-4957-9178-91d2001e2d0dIn win8 you need to handle alt-tab as SendSAS();
We could develop/use Windows apps now, because #{Tab} works instead of !{Tab} (#{Tab} = "Windows key + Tab" -Cycles through Metro style apps; !{Tab} = "Alt + Tab" - Cycle forward through open windows )
1). you still can't sign autohotkey compiled exe file
AutoHotkey_L compiled exe files can be signed. However, you still need to put it in a trusted location (i.e. Program Files).
2). loading EnableUIAccess.ahk will lead to #Include file "" cannot be opened. 3). edit in EnableUIAccess.ahk #Include <Cert.ahk> into #Include Cert.ahk will solve "2)." but will lead to another warning
You are using the wrong version of AutoHotkey.
ok, so i thought i should bite the bullet and go ahead. It's working now and it wasn't that difficult (it's just that i'm new to autohotkey)
1. First, make sure your autohotkey script is working alright in seven. I was using alt-tab to cycle between the last two applications, so my script was like this:
F13:: { send,{lalt down}{tab} sleep 10 send, {lalt up} Return }
Pretty simple, then setpoint (with uberoptions installed) calls F13 and that does the magic.
2. Install autohotkey on win8 inside program files, express install will do.
3. Go to Lexiko's post about enabling ui access, download and run the script at the bottom of the first post. Follow the instructions. It should create a new autohotkey.exe, replace yours with it.
4. Execute the script. it should work now.
edit1: it still doesn't work on some windows, being those admin windows like task manager and regedit. I'll have to see if there's a way around this.
edit2: it doesn't work if you do the enablelua registry hack, soif you want to reduce UAC warnings and have this fix together, you may have to do something like this
edit3: make sure to run setpoint with administrative rights, that fixes the alt tabing on admin windows. (task manaher-startup- right click setpoint- properties- compatibility- run this program as administrator)
Find Window Switcher.lnk in C:\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch .
Copy the The shortcut to somewhere else (I use documents/ahk).
Use this script:
#Tab:: Run, "C:\Users\YourUserNameHere\Documents\ahk\Window Switcher"
If you are trying to use the app switcher in SetPoint then I suggest this:
^!*0:: Run, "C:\Users\YourUserNameHere\Documents\ahk\Window Switcher"
Then in SetPoint Bind the keystroke for app switcher to Ctrl+Alt+Shift+0
@traedoril
That was brilliant! The IE script to show the Windows 8 Task Switcher works perfectly. NO NEED to recompile autohotkey, and also running the AutoHotkey.exe without admin privileges.
Here's a short script to show/hide the task swticher using middle mouse clicks, scroll to select desired window, click middle wheel again to select.
showingTaskSwitcher:=0 ; not visible MButton:: if (showingTaskSwitcher = "1") ; press Enter to select current window. { send,{Enter} showingTaskSwitcher:=0 } else { Run,"C:\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch.lnk" ; Show the Windows task switcher showingTaskSwitcher:=1 } return
I recommend copying the Quick Launch.lnk file somewhere else, in case MS decides to delete it with a newer update.
THANK YOU to traedoril for finding this link! Saved a huge amount of time.
Bug in my script: if you click away from the task swticher with the left or right button, or in any way close the task switcher without clicking the middle button, next time you click the middle button an {Enter} keystroke will be sent to the active application.
Another solution: Use the free software vistaswitcher (also for windows 8) to replace this windows function.
Within vistaswitcher you can set hotkeys. For example F18. In autohotkey you can then redirect to that chosen hotkey or just use the hotkeys within the switcher in vistaswitcher.
In my case I programmed the right alt to do what "alt tab" did; Now I only have to press ONE button (and then toggle with more ONE clicks or click with the mouse).
p.s.
"right alt" as hotkey in vistaswitcher does not work; so I used F18 and set in Autohotkey: right alt = F18.
HELLO EVERYONE
I AM A STUDENT AND NEED TO PREPARE NOTES FROM VARIOUS PLACES LIKE WEPAGES, PDFs ETC
FOR THAT I NEED TO COPY PASTE INFINITE NUMBER OF TIMES
TILL NOW I WAS RUNNING THE FOLLOWING SCRIPT ON WINDOWS 7 AND IT WAS WORKING FLAWLESSLY
RECENTLY I SWITCHED TO WINDOWS 8.1 AND IT HAS STOPED WORKING AND I GUESS THAT IS BECAUSE OF ALTTAB FUNCTION USED IN THE SCRIPT
I AM NOT A PROGRAMMER AND HAVE LITTLE KNOWLEDGE OF HOW TO WRITE SCRIPTS
IT WOULD BE OF IMMENSE HELP IF SOMEONE CAN WORK WITH THE FOLLOWING SCRIPT AND ROVIDE ME THE SCRIPT THAT CAN WORK WITH WINDOWS8.1
#c::
Send, {CTRLDOWN}c{CTRLUP}{ALTDOWN}{TAB}{ALTUP}
sleep, 300
Send, {CTRLDOWN}v{CTRLUP}{ENTER}{ALTDOWN}{TAB}{ALTUP}
return
THANK YOU SO MUCH IN ADVANCE