Autohotkey) Find WM_COMMAND parameter with Winspector
관련 게시물 :
AUTOhotKEY 웹페이지 열지않고 소스 가져오기 또는 로그인 하기 AUTOhotKEY 웹페이지 감시결과에 따라 마이피플로 글 전송하기 Autohotkey 엑셀(Excel)에서 행값 증가시키기 Autohotkey 30분마다 자동으로 디스크 정리하기
|
Step 1
If you do not already have Winspector,
Download & install Winspector from www.windows-spy.com/download/
Direct DL Link: Winspector_setup.exe ( 0.99 MiB )
Read this topic: Tutorial on posting messages to Windows
Step 2
Minimize all windows and Start your program.
> In this example I am using Windows Media Player
Step 3
Run Winspector. If you had chosen the default settings, then the path would be like
?:\Program Files\Winspector\WinspectorU.exe
Step 4
Close all the sub-windows with close buttons ( refer the Red arrows in above screenshot ) until
you have an empty window like below
Step 5
Select View > Window List
Step 6a
Click on the Window tab to make sure you are viewing the Window List
Step 6b
Browse the List and find your app. You can easily identify it with the Icon.
> In this case it is Windows Media Player
Select the Window from the list / Right click and select Messages...
Step 6c
Close the Window List and maximize the Message Window
Step 7a
You will see a plain window like below.
> Take a look at the Caption bar, WMP Skin Host is the ahk_class
Step 7b
Right click on the Client-area
1) make sure Filter messages is checked. If not check it.
2) Select Edit Message Filter...
Step 7c
By default, Winspector will monitor all the Window Messages,
Whereas, we need only it to monitor WM_COMMAND.
So click Filter all to remove all the Messages.
Step 7d
Select WM_COMMAND from the left list, double-click it to move it to the right list.
Step 7e
Click Ok button.
Step 8
Use alt-tab to move focus to Windows Media Player and perform the following:
1) Pull down Menu File > Open to open a media file
2) Pull down Play > Play/Pause to pause the media.
3) Pull down Play > Stop to stop the media
Step 9
Use alt-tab to move focus back to Winspector.
If you find that the window caption no longer points to "your Message capture window" ... and shows
something like SysShadow instead.. keep closing these sub-windows until "your window" appears in
the Caption.
In this example it is WMP Skin host and will appear as follows:
The highlighted integers are the required wParam for WM_COMMAND
Open = 57601
Play/Pause Toggle = 18808
Stop = 18809
From AHK, to control Play/Pause of WMP, the command would be
Code (Copy): |
PostMessage, 0x111, 18808,0,, ahk_class WMP Skin Host ; 0x111 is WM_COMMAND |
Note: ahk_class for WMP will change for full mode/skin mode etc