[V2.beta] - wInspector - windows spy alternative
[V2.beta] - wInspector - windows spy alternative
An alternative of windows spy, based on the good "AHK window info" that served me for many years, but with extra fuctionalities.
It lists all the processes, windows and controls and makes them searchable.
Drag and drop the cross to specify a specific control or window.
You can reduce wInspector so it only displays information that you find interesting. you can show or hide every groupbox.
Rightclick the listview items for extra commands regarding the controls or windows. Like displaying the styles,
The function groupbox lets you quickly test functions on controls or window.
An ACC viewer is also imbedded to explore the Acc elements, probably extra functions will be used to generate code to use these elements in the future.
Download
wInspector github
It lists all the processes, windows and controls and makes them searchable.
Drag and drop the cross to specify a specific control or window.
You can reduce wInspector so it only displays information that you find interesting. you can show or hide every groupbox.
Rightclick the listview items for extra commands regarding the controls or windows. Like displaying the styles,
The function groupbox lets you quickly test functions on controls or window.
An ACC viewer is also imbedded to explore the Acc elements, probably extra functions will be used to generate code to use these elements in the future.
Download
wInspector github
- Attachments
-
- winspector2.png (88.67 KiB) Viewed 4531 times
Last edited by AHK_user on 03 Jan 2023, 03:46, edited 3 times in total.
Re: [V2.beta] - wInspector - windows spy alternative
This is a really amazing tool with tons of potential.
Ill be playing with it later! Thanks a lot for sharing!
Ill be playing with it later! Thanks a lot for sharing!
Projects:
AHK-ToolKit
AHK-ToolKit
Re: [V2.beta] - wInspector - windows spy alternative
Update:
- Improved style analisys (when rightclicking on one of the listviews>styles)
- Switched to ChildGuis to handle the different Sections more easily
- Added Function section that allows you to quickly test some functions regarding Windows or Controls. (With a copy button to copy the code)
- Improved style analisys (when rightclicking on one of the listviews>styles)
- Switched to ChildGuis to handle the different Sections more easily
- Added Function section that allows you to quickly test some functions regarding Windows or Controls. (With a copy button to copy the code)
Re: [V2.beta] - wInspector - windows spy alternative
Update:
- Added buttons in the function section that let`s you copy the code or quickly go to the help file of the function
- Added toolbar to quickly show/hide the specific groupbox
- Improved automatic sizing of the window
Feedback is welcome, please let me know if there are some interesting features that are missing.
- Added buttons in the function section that let`s you copy the code or quickly go to the help file of the function
- Added toolbar to quickly show/hide the specific groupbox
- Improved automatic sizing of the window
Feedback is welcome, please let me know if there are some interesting features that are missing.
Re: [V2.beta] - wInspector - windows spy alternative
Update:
- Added automatic Process selection in ProcessList of picked window.
- Added automatic Process selection in ProcessList of picked window.
Re: [V2.beta] - wInspector - windows spy alternative
Updates:
- Fixed resizing issue that caused the window to grow larger when reloading
- Removed filickering when picking a control
- Added checked status to toolbar, the view menu is removed as it is replaced by the toolbar.
With there updates, some annoiing behaviours are now removed.
- Fixed resizing issue that caused the window to grow larger when reloading
- Removed filickering when picking a control
- Added checked status to toolbar, the view menu is removed as it is replaced by the toolbar.
With there updates, some annoiing behaviours are now removed.
Re: [V2.beta] - wInspector - windows spy alternative
Update:
- Fixed resize issues, (using maximized state still causes some strange behavior, but the rest seems to be fixed)
- Fixed Listview click errors
- Added option to switch the display the IDs as number or hexidecimal
- Fixed resize issues, (using maximized state still causes some strange behavior, but the rest seems to be fixed)
- Fixed Listview click errors
- Added option to switch the display the IDs as number or hexidecimal
Re: [V2.beta] - wInspector - windows spy alternative
Update:
- Added an command Acc Viewer in the Winlist contextMenu to display the Acc data
- Added an command Acc Viewer in the Winlist contextMenu to display the Acc data
Re: [V2.beta] - wInspector - windows spy alternative
What are the effects of the settings under the Control and Window sub-menus of the Settings menu?
Some suggestions:
Some suggestions:
- Add a window class column to the window list.
- Add "copy class" to the window list context menu.
- Add an option to filter the window list by what is selected in the process list, instead of (the current behaviour) automatically changing the selection in the process list when the user selects a window.
Re: [V2.beta] - wInspector - windows spy alternative
Suggestions are implemented. Filter on PID is added with a checkbox.lexikos wrote: ↑01 Jan 2023, 21:29What are the effects of the settings under the Control and Window sub-menus of the Settings menu?
Some suggestions:
- Add a window class column to the window list.
- Add "copy class" to the window list context menu.
- Add an option to filter the window list by what is selected in the process list, instead of (the current behaviour) automatically changing the selection in the process list when the user selects a window.
The settings are related to the Function Section that allows the user to quickly test and copy AHK functions and impact with what method the control or window is targeted.
Re: [V2.beta] - wInspector - windows spy alternative
You need to define point is from chrome or not as I ran into an error because of that so I just debug trail and found wInspector.ahk line 986
it is set for chrome by default line 894 acc.ahk
edit:
I just found it's a one-time error for me, using windows 10 ahk 2.0.2. hwnd return empty first time it is not the above issue. you need to put a condition if hwnd is empty in Acc.ahk
Code: Select all
oAccp := Acc.ObjectFromPoint(MouseX, MouseY,,PointisChrome ? true : false)
Code: Select all
static ObjectFromWindow(hWnd:="A", idObject := 0, activateChromium:=True)
I just found it's a one-time error for me, using windows 10 ahk 2.0.2. hwnd return empty first time it is not the above issue. you need to put a condition if hwnd is empty in Acc.ahk
"When there is no gravity, there is absolute vacuum and light travel with no time" -Game changer theory
Re: [V2.beta] - wInspector - windows spy alternative
@Xeo786, could you tell me how to reproduce this bug?
wInspector is using ObjectFromPoint with only the X and Y arguments, which means that inside ObjectFromPoint the hwnd for accessibility activation is gotten with the call wId := DllCall("GetAncestor", "UInt", DllCall("user32.dll\WindowFromPoint", "int64", pt64), "UInt", GA_ROOT := 2), where pt64 consists of the X and Y coordinates. This wId gets passed into ActivateChromiumAccessibility where WinGetControls gets called with it. If the target window isn't found, then I guess this means that for some reason the DllCall is failing? Can you test whether it's WindowFromPoint or GetAncestor that fails?
wInspector is using ObjectFromPoint with only the X and Y arguments, which means that inside ObjectFromPoint the hwnd for accessibility activation is gotten with the call wId := DllCall("GetAncestor", "UInt", DllCall("user32.dll\WindowFromPoint", "int64", pt64), "UInt", GA_ROOT := 2), where pt64 consists of the X and Y coordinates. This wId gets passed into ActivateChromiumAccessibility where WinGetControls gets called with it. If the target window isn't found, then I guess this means that for some reason the DllCall is failing? Can you test whether it's WindowFromPoint or GetAncestor that fails?
Re: [V2.beta] - wInspector - windows spy alternative
Idk why? but wid return 0 just once which causes error, but after continuing it works fine.Descolada wrote: ↑23 Jan 2023, 10:37@Xeo786, could you tell me how to reproduce this bug?
wInspector is using ObjectFromPoint with only the X and Y arguments, which means that inside ObjectFromPoint the hwnd for accessibility activation is gotten with the call wId := DllCall("GetAncestor", "UInt", DllCall("user32.dll\WindowFromPoint", "int64", pt64), "UInt", GA_ROOT := 2), where pt64 consists of the X and Y coordinates. This wId gets passed into ActivateChromiumAccessibility where WinGetControls gets called with it. If the target window isn't found, then I guess this means that for some reason the DllCall is failing? Can you test whether it's WindowFromPoint or GetAncestor that fails?
"When there is no gravity, there is absolute vacuum and light travel with no time" -Game changer theory
Re: [V2.beta] - wInspector - windows spy alternative
Oh I found it, I got two screens
They are negative which is actually causing errors.
Mouse is top left corner on screen 2, Just look at the screen coords they are in They are negative which is actually causing errors.
"When there is no gravity, there is absolute vacuum and light travel with no time" -Game changer theory
Re: [V2.beta] - wInspector - windows spy alternative
In a private chat with @Xeo786 we figured out that the problem was in WindowFromPoint requiring bit-masking the X-coordinate, otherwise it will return 0, which causes an error in ActivateChromiumAccessibility. This kind of error repeating can be prevented by updating the Acc library to the latest version (v2.1) which contains a more effective and less error-prone implementation of ActivateChromiumAccessibility. For now I only created a pull request to add bit-masking, but the decision whether to update to the newer Acc library I'll leave to @AHK_user
Re: [V2.beta] - wInspector - windows spy alternative
The library is updated. Thanks for the pull request.Descolada wrote: ↑26 Jan 2023, 00:39In a private chat with @Xeo786 we figured out that the problem was in WindowFromPoint requiring bit-masking the X-coordinate, otherwise it will return 0, which causes an error in ActivateChromiumAccessibility. This kind of error repeating can be prevented by updating the Acc library to the latest version (v2.1) which contains a more effective and less error-prone implementation of ActivateChromiumAccessibility. For now I only created a pull request to add bit-masking, but the decision whether to update to the newer Acc library I'll leave to @AHK_user
If I find the time and motivation, I will look into the newer Acc library.
I was planning to add some buttons to test some acc functionalities, with the option to quickly copy some working code.