World of Warcraft - Window ID's
Changing the names of the executable files does not work, nor does a few scripts I have tried; all the windows remain titled 'World of Warcraft'.
Any ideas?
Hope it helps
The universe is a wondrous place! The faster you create unbreakable code, the faster the universe creates people that can break it. All scripting follows the rule Rule Of Twos -- 1) Good, 2) Fast 3) Cheap -- pick any Two.
I guarantee absolutely nothing about any code I provide except that it works in my machine. ●
MMO Fighter KeyLooperDemo Key Spammer TinyClickRecorder GGs Password Generator.ahk
For the newest version of AutoHotkey and some killer scripts go here.
WinGet, WowWinId, List, World of Warcraft
F11::
WinSetTitle, World of Warcraft,, WowWinId1
return
F12::
WinSetTitle, World of Warcraft,, WowWinId2
return
However, using the script is a problem. Pressing keys doesn't work at all - doesn't send a single control movement through. Might anyone know how? I'm using the right scripts, but, it's just not working.
List: Retrieves the unique ID numbers of all existing windows that match the specified WinTitle, WinText, ExcludeTitle, and ExcludeText (to retrieve all windows on the entire system, omit all four title/text parameters). Each ID number is stored in an array element whose name begins with OutputVar's own name, while OutputVar itself is set to the number of retrieved items (0 if none). For example, if OutputVar is MyArray and two matching windows are discovered, MyArray1 will be set to the ID of the first window, MyArray2 will be set to the ID of the second window, and MyArray itself will be set to the number 2. Windows are retrieved in order from topmost to bottommost (according to how they are stacked on the desktop). Hidden windows are included only if DetectHiddenWindows has been turned on. Within a function, to create an array that is global instead of local, declare MyArray as a global variable prior to using this command (the converse is true for assume-global functions).
#NoEnv #SingleInstance, Force SetTitleMatchMode, 2 DetectHiddenWindows, On WinGet, winID, List, Warcraft ;<-- read all the wow window id's Loop %winID% ;<-- this is the number of windows found { thisid := winID%A_Index% ;<-- create a string that can be displayed in a msgbox str = %str%,%thisid%`n } MsgBox,0x1020,,%str% ;<-- show the id's in the msgbox exitappThis little script will show you the WoW windows that are running at the time. Load all your World of Warcraft windows and check them with this after they're all loaded.
You can also use this little routine in your own code to get the current window ID under the mouse cursor at any time.
^!NumPadMult:: MouseGetPos, , , mwid ToolTip, the id of the window under the cursor is %mwid% Sleep 5000 Tooltip Return
The universe is a wondrous place! The faster you create unbreakable code, the faster the universe creates people that can break it. All scripting follows the rule Rule Of Twos -- 1) Good, 2) Fast 3) Cheap -- pick any Two.
I guarantee absolutely nothing about any code I provide except that it works in my machine. ●
MMO Fighter KeyLooperDemo Key Spammer TinyClickRecorder GGs Password Generator.ahk
For the newest version of AutoHotkey and some killer scripts go here.
So, okay. Currently using Window 7, and have the latest WoW edition. Scripting and what not is working fine, except for the window ID's (eg. wowid2).
Changing the names of the executable files does not work, nor does a few scripts I have tried; all the windows remain titled 'World of Warcraft'.
Any ideas?
I'm not sure what you're trying to do, but I'm assuming you are trying to control a particular wow window when there is more than one wow instance running.
This worked for me:
ControlGet, sendWindow, Hwnd, , World of Warcraft
This snapshots the window handle of the current on-top wow window. I can then use %sendWindow% in ControlSend statements to send input to only that window, whether or not it is still on top.
Use scantron for a reference code if you decide to do that.