Click to See Complete Forum and Search --> : WM_LBUTTONDOWN message doesn't work under vista.


fulldec
August 11th, 2008, 04:37 AM
I have a COM application for managing WinAPI. Everything worked well for 2K, XP and even vista when suddenly I faced such a problem: the "Next" button in hardware installation dialog is not always clicked by my application.

-It is always clicked if I use my PressButton method twice although.
-Buttons are clicked in apps like Calculator etc..
-My QA engineer says that messages are sent to right handles=)
-My PressButton methods simply sends WM_LBUTTONDOWN/LBUTTONUP to handle of button control.
-If send "Alt+N", the button is clicked.
-Before we try to click, focus is set to "InstallationPath" ComboBox.

Zaccheus
August 13th, 2008, 08:10 AM
It is always clicked if I use my PressButton method twice although.
Hmm .. that almost sounds like the first click is activating a window?

fulldec
August 13th, 2008, 08:48 AM
Well actually it looks like it "activates" the button - grey bar is drawed on it.
Anyway it's strange that we have no such problems in other apps.

messycan
August 13th, 2008, 09:41 AM
WM_LBUTTONDOWN, WM_RBUTTONDOWN, WM_MBUTTONDOWN messages work under Vista. I actually was writing something last night that needed to process those messages.

Might be some other issue causing it.

fulldec
August 14th, 2008, 01:14 AM
WM_LBUTTONDOWN, WM_RBUTTONDOWN, WM_MBUTTONDOWN messages work under VistaWell did I say they don't work at all?
I said that everything works well in Calculator and connect-to-ISP windows.

The problem is with vista policies of focuses, I think.. But not sure.

Runt888
August 14th, 2008, 11:17 PM
It sounds like you are sending messages across process boundaries (I wasn't sure from your original post). In Vista, you can't send messages from a standard process to an elevated process unless specifically allowed by the receiving application. This is the reason drag and drop doesn't work from explorer to an elevated process (for example).

I hope this helps - if I'm way off, ignore it! :D

Kelly