|
What is the license for this code?
I've been using this tool on and off for years and now 20 years later it is missing some styles and DPI support would also be nice. Are you OK with people forking this project? If so, under which license?
|
|
|
|
|
|
Can you also add the tooltips text in the property window? Thanks.
|
|
|
|
|
Hi there,
I am looking for a tool that can handle the problem of events getting lost during compile time . Please help....
|
|
|
|
|
Has anyone seen this?
That spy gets more info. Does anyone know how to get source to it?
|
|
|
|
|
|
Hey, great application.
Listen, I've been searching arround codeproject to see how one can hook iexplorer.
I have his pesky li'l proggie that hooks IE somehow and maybe, maybe randomly redirects me to http://www.smart-finder.biz/
Now, this is NOT the default search engine.
It happend to me before, on another windowsXP but with www.lender... smtg.
I HATE it when I search google, and at least 5 links per page are totaly #@$%.
BTW, when I hover over the link, it doesnt say it's going to redirect me. It shows the me the correct link.
Anyhow, if you have any idea what to search for, or a link, I would really apreciate it.
Thank you,
Adrian Korsuas
|
|
|
|
|
what happens is that if the link fails (with a 404 error) then some servers don't return this to the user but decide to redirect to somewhere else.
i don't know who exactly is responsible for the redirecting (ie which server) but its been in the tech news recently.
sorry i can't be more precise, but if i come across anything in my travels i'll send you a link.
rgds
.dan.g.
AbstractSpoon
|
|
|
|
|
When I downloaded the executable of MiniSpy 2.0 I was, in the first moment, a bit irritated. Do I really have Rev. 2.0? Because the about box shows version 1.2.
But when I right clicked on the file in explorer and checked the version tag, I relaxed and enjoyed brand-new version 2.0.
Hmmm... perhaps I'm fussy indeed.
But the tool is absolutely great, better and faster than Spy++ in most cases! You got my five!
CU...
|
|
|
|
|
Ow man I really needed this. THANK YOU! 
|
|
|
|
|
|
How about a flash window toolbar button?
|
|
|
|
|
good idea.
also might be useful to flash windows as they are picked.
|
|
|
|
|
MiniSpy only looks at the first window found under the cursor.
For example, if a control is inside a group box (a quite common case...) and this group box is first in the Windows handle list, MiniSpy shows the group box but none of the controls inside.
You can take a look at Multimedia Properties, Audio tab, Playback group box so see this.
This is annoying...
I am looking a way to dig inside, but currently I have no luck using ChildWindowFromPoint.
[Some time later]
Well, the method I found is to enumerate the sibblings of the found window until I find the one I search for. In my case, the checkbox or radiobutton which have the cursor inside its rectangle. But we can search the smallest sibbling including the cursor, for example. Except for childs and group boxes, overlapping windows are quite rare.
One case can be with long labels overlapping the associated control, though.
Philippe Lhoste (Paris -- France)
Professional programmer and amateur artist
http://jove.prohosting.com/~philho/
|
|
|
|
|
Previously, MiniSpy used the method ::WindowFromPoint() to pick the window. However, as you have pointed out this does not always work with controls within group boxes, _specifically_ when the controls are behind the group box in the z-order.
To solve this I have extended the window picking to also use ::RealChildWindowFromPoint() once the initial pick is done. The documentation for this function effectively states that it ignores windows which return HTTRANSPARENT to a WM_NCHITTEST message, which group boxes do.
This solves the problem except for nested group boxes which are ignored by ::RealChildWindowFromPoint() because they too return HTTRANSPARENT.
The docs also indicate that ::RealChildWindowFromPoint() is not supported on windows 95 which is why I have linked to it dynamically.
I have sent updated source/exe to chris maunder and this will appear presently.
|
|
|
|
|
Good reactivity
I was/am reluctant to use the RealChildWindowFromPoint function, since it doesn't work on Win95, but at least it seems to work fine (on NT).
Good work. Thank you.
Philippe Lhoste (Paris -- France)
Professional programmer and amateur artist
http://jove.prohosting.com/~philho/
|
|
|
|
|
>> it doesn't work on Win95
i suspect that it would not be too difficult to implement this method manually.
1. walk all the children in the parent of the wnd returned from WindowFromPoint().
2. for each child, send WM_NCHITTEST and return the first child which returns something other than HTTRANSPARENT or HTNOWHERE.
regards
|
|
|
|
|
Thank you for the pointer, I will try it out.
I had to refresh my memory about this WM_NCHITTEST message, it seems quite useful
Philippe Lhoste (Paris -- France)
Professional programmer and amateur artist
http://jove.prohosting.com/~philho/
|
|
|
|
|
Cool
"When a friend hurts us, we should write it down in the sand, where the winds of forgiveness get in charge of erasing it away, and when something great happens, we should engrave it in the stone of the memory of the heart, where no wind can erase it" Nish on life [methinks]
"It's The Soapbox; topics are optional" Shog 9
|
|
|
|
|
Hi,
Excellent tool! Well done!
I wanted to use it to allow the text in read-only error messages to be copied to the clipboard. I enabled this by adding a right click menu to copy the currently selected item to the clipboard – then you can copy the Caption text.
In case anyone else finds this useful here is the code:
Add the menu resource to the RC file:
IDR_GRID_CONTEXT MENU DISCARDABLE
BEGIN
POPUP "context"
BEGIN
MENUITEM "©", ID_COPY
END
END
Add these lines to MiniSpyDlg.h
afx_msg void OnRclickAttributes(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnCopy();
Add these to the message map in MiniSpyDlg.cpp:
ON_NOTIFY(NM_RCLICK, IDC_ATTRIBUTES, OnRclickAttributes)
ON_COMMAND(ID_COPY, OnCopy)
Finally add these functions:
void CMiniSpyDlg::OnRclickAttributes(NMHDR*, LRESULT* pResult)
{
POINT pointScreen;
DWORD dwPos;
dwPos = GetMessagePos();
pointScreen.x = LOWORD(dwPos);
pointScreen.y = HIWORD(dwPos);
// Convert the point from screen to client coordinates,
// relative to the listview
CMenu* pMenu = m_menu.GetSubMenu(0);
pMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pointScreen.x, pointScreen.y, this);
*pResult = 0;
}
void CMiniSpyDlg::OnCopy()
{
CString str;
POSITION pos = m_lcAttributes.GetFirstSelectedItemPosition();
if (pos == NULL) return;
int nItem = m_lcAttributes.GetNextSelectedItem(pos);
str = m_lcAttributes.GetItemText(nItem, 1);
if (str.GetLength() == 0) return;
if ( OpenClipboard() )
{
EmptyClipboard();
CSharedFile sfText(GMEM_MOVEABLE|GMEM_DDESHARE|GMEM_ZEROINIT);
HGLOBAL hData = 0;
sfText.Write(str, str.GetLength());
hData = sfText.Detach();
if (hData)
{
SetClipboardData(CF_TEXT, hData);
}
CloseClipboard();
}
}
|
|
|
|
|
is it possible to use a toolbar in a dialog if so would you please let me know how to.
thaanks in advance.
|
|
|
|
|
sorry for the immense delay
the key is in handling the TTN_NEEDTEXT notification manually.
check out the following handler:
BOOL CMiniSpyDlg::OnNeedTooltip(UINT, NMHDR* pNMHDR, LRESULT* pResult)
|
|
|
|
|
Hi,
MiniSpy it's cool!! I'd suggest for 2.0 a better display of window properties, inside a combo box for example, so that you can see all without scrolling... Also how about some window navigation? (like going to parent, first child or sibling. I think someone mentioned this already)
Cheers,
-- LuisR
--------
Luis Alonso Ramos
Chihuahua, Mexico
www.luisalonsoramos.com
|
|
|
|
|
When I run the EXE directly from the download (no compiling myself), it crashes before doing/showing anything at all.
I'm using WXP Professional, German version, latest ServicePack and Hotfix stuff.
--
See me: www.magerquark.de
|
|
|
|
|
i have posted a fix for this (see the mail thread regarding PropEnumProcEx) but i guess it has not yet been updated.
|
|
|
|