AutoHotkey Homepage AutoHotkey Community
Let's help each other out
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

WinID - Get control details

 
Post new topic   Reply to topic    AutoHotkey Community Forum Index -> Utilities & Resources
View previous topic :: View next topic  
Author Message
BoBo
Guest





PostPosted: Tue Feb 21, 2006 4:45 pm    Post subject: WinID - Get control details Reply with quote

Quote:
WinID is controls & windows identification utility that is both powerful and compact. It gives an easy way to retrieve information about MS Windows controls visually right off the screen.

WinID resembles Spy++ from the MS Visual Studio toolset but it also incorporates lots of its own handy features. It will be good for debugging C/C++/MFC/.NET and Visual Basic applications by a person who knows (or plans to learn) the MS Windows OS - programmer, debugger/tester, beginner, as well as learning more about how your favorite programs are made.

WinID is free to use for individual and noncommercial application

Here are some key features of "WinID":

· To use WinID all you have to do is to point mouse to control on the screen to get instant information about it;
· WinID is completely "transparent" for other programs and the OS;
· WinID retrieves a wealth of Windows NT compatible information, including: Control handle & title (text), control ID, control status (enabled, visible, Unicode), module handle, Window Procedure, menu, atom, icon, cursor and brush handles, window class styles, process ID, process priority, process creation and times, process memory and handle count stats, process privileges, main thread ID, priority and creation times, base priority, image file path, module file path, app instance handle, shut-down parameters & flags, parent window handle & class, window & control styles, extended styles, additional control-specific info, and much more;
· Using Capture Shot technique WinID can remember control state to be analyzed later;
· WinID can also retrieve command line, environment strings, image file path for a program by simply pointing to it through Capture Shot feature;
· Using Capture Shot you can copy and save retrieved information as text;
· WinID can highlight control it works with;
· WinID does Automatically Recognize many control classes;
· WinID can run with priority level above normal to have an upper hand over other apps;
· Use WinID to test other programs regarding resource and memory leaks

[More...]
[Screenshots]
[Manual]
Might make sense to use it with AHK's Send-/PostMessage Cool
Back to top
BoBo
Guest





PostPosted: Wed Feb 22, 2006 5:19 pm    Post subject: Reply with quote

Anyone has tested this already? I thought (by mistake?) that we can get Send-/PostMessages wParam (and/or lparam) parameter(s) a way more easily, but it looks not ... Crying or Very sad
Back to top
Laszlo



Joined: 14 Feb 2005
Posts: 4078
Location: Pittsburgh

PostPosted: Wed Feb 22, 2006 5:32 pm    Post subject: Reply with quote

I tested it. It gives some useful information, like the window style and exstyle, parent, program name with full path, and a lot of data I don't understand. Interestingly, the control class is different from the one shown in WindowSpy (SysTabControl32 vs. SysTabControl321)
Back to top
View user's profile Send private message
Demokos



Joined: 28 Dec 2005
Posts: 84

PostPosted: Wed Feb 22, 2006 5:50 pm    Post subject: Reply with quote

Laszlo wrote:
Interestingly, the control class is different from the one shown in WindowSpy (SysTabControl32 vs. SysTabControl321)

I'm not sure but I think that SysTabControl321 is the first of the SysTabControl32(s) controls, and so SysTabControl322 the second one if any.
Back to top
View user's profile Send private message
corrupt



Joined: 29 Dec 2004
Posts: 2436

PostPosted: Thu Feb 23, 2006 4:03 am    Post subject: Reply with quote

I gave it a spin and it seems like it might be handy at times. I'll likely still use Winspector Spy most of the time though... Thanks for the link Smile .
Back to top
View user's profile Send private message Visit poster's website
PhiLho



Joined: 27 Dec 2005
Posts: 6721
Location: France (near Paris)

PostPosted: Thu Feb 23, 2006 11:22 am    Post subject: Reply with quote

A similar program (there are lot of them...):
MouseWhere. It has a facility to copy the data to the clipboard.
_________________
vPhiLho := RegExReplace("Philippe Lhoste", "^(\w{3})\w*\s+\b(\w{3})\w*$", "$1$2")
Back to top
View user's profile Send private message Visit poster's website
BoBo
Guest





PostPosted: Thu Feb 23, 2006 1:46 pm    Post subject: Reply with quote

Quote:
It has a facility to copy the data to the clipboard
which is the same with WinID.

TBH, my main target was/is to get a controls wParam value with a snap of a finger (doesn't it need minimum two fingers to do that? Rolling Eyes), but I'm afraid that's not possible with WinID. Am I wrong with that ??
Back to top
PhiLho



Joined: 27 Dec 2005
Posts: 6721
Location: France (near Paris)

PostPosted: Thu Feb 23, 2006 2:43 pm    Post subject: Reply with quote

I am not sure of what you mean by getting wParam and lParam of messages... Can you clarify, please?
_________________
vPhiLho := RegExReplace("Philippe Lhoste", "^(\w{3})\w*\s+\b(\w{3})\w*$", "$1$2")
Back to top
View user's profile Send private message Visit poster's website
BoBo
Guest





PostPosted: Thu Feb 23, 2006 3:48 pm    Post subject: Reply with quote

@ PhiLho (& whom it may concern)
you might know this --> [Send Messages to a Window or Its Controls - by Rajat].
I'd wish it would get a script/app/workarround to combine point 6+9 of the HowTo and BANG!, the wParam Shocked

Looks like I've to ask Die bezaubernde Jeannie to get "banged" Laughing
Back to top
PhiLho



Joined: 27 Dec 2005
Posts: 6721
Location: France (near Paris)

PostPosted: Thu Feb 23, 2006 5:06 pm    Post subject: Reply with quote

Oh, I see. Good idea, but WinID and the like just get statical information from a window. They don't monitor messages, which are dynamic.

There is a way, not heavily automated, but still useful:

Run our beloved Resource Hacker. Open, for example, our good old notepad.exe.
Open Menu, 1, 1036 (for me: the only menu entry, it is the number identifying the language of the resource, that's 1033 for US English)
You get the structure of the menu bar.
For example, I see:
MENUITEM "&Police...", 33

So I write a script:
Code:
SetTitleMatchMode 2
; WM_COMMAND
F9::SendMessage 0x111, 33, 0, , Bloc-notes
run Notepad, hit F9, and I get the Font dialog... Better than sending Alt+language specific keys...

Note: for Outlook Express, I had to open the msoeres.dll: they have put the resources of this program in a separate DLL (easier to localize: just replace the DLL).
_________________
vPhiLho := RegExReplace("Philippe Lhoste", "^(\w{3})\w*\s+\b(\w{3})\w*$", "$1$2")


Last edited by PhiLho on Fri Feb 24, 2006 9:46 am; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
Serenity



Joined: 07 Nov 2004
Posts: 1275

PostPosted: Thu Feb 23, 2006 6:02 pm    Post subject: Reply with quote

Reading menu resources is the method I used to get the Refresh desktop message. :)
_________________
"Anything worth doing is worth doing slowly." - Mae West
Back to top
View user's profile Send private message Visit poster's website
Rabiator



Joined: 17 Apr 2005
Posts: 271
Location: Sauerland

PostPosted: Thu Feb 23, 2006 9:08 pm    Post subject: Reply with quote

@PhiLho
Thanks a lot for the hint at resource hacker! A useful tip for me, because the Windows Spy doesn't work properly on my decaying Win98.
Back to top
View user's profile Send private message
PhiLho



Joined: 27 Dec 2005
Posts: 6721
Location: France (near Paris)

PostPosted: Fri Feb 24, 2006 9:37 am    Post subject: Reply with quote

Rabiator wrote:
Windows Spy doesn't work properly on my decaying Win98.

Same for me (still have it at home...). It eats all available resources (I have only a Pentium II 300MHz there) and is unusable. I believe older versions were easier on the system. Well, I still have Spy++.
_________________
vPhiLho := RegExReplace("Philippe Lhoste", "^(\w{3})\w*\s+\b(\w{3})\w*$", "$1$2")
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    AutoHotkey Community Forum Index -> Utilities & Resources All times are GMT
Page 1 of 1

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum


Powered by phpBB © 2001, 2005 phpBB Group