Ok I'm Stupid, Mad and maybe an idiot, but I did it.
WM_MENUSELECT Click mouse detection for anyone sturggling with this as I was.
in the MenuHookProc, when I have found via WM_MENUSELECT that the mouse is hovering over Save,
I set a global bool variable to true other wise false.
if(!strncmp(szmenu,"&Save",5)) {
MouseOnSave = true;
}else{
MouseOnSave = false;
}
Then I hook the mouse.
The WM_MENUSELECT coming into the MenuHookProc above arrives before any WM_LBUTTONDOWN message
arriving below.
In the mouseproc()
I look for WM_LBUTTONDOWN and if so, then check the state of the global MouseOnSave. If it's true, The we are on the Save button and have clicked it so fire off what we are to do in that
instance.
Works for me for now.