I'm writing Remote Desktop clone in C++ using QT. So far I'm able to move the mouse cursor around fine. QT has a nice setPos function for that. However, I'm a bit lost as to what API/Library to use for simulating mouse button clicks.
One method I'm aware of is to send the WM_(event) to a window using the window's HWND. However, I was hoping there was a more salient method for taking complete control over a mouse. Is there any other way to tell the operating system that the left mouse button has been clicked?
Thanks.
Combining all togegher, here is the code for Qt:
This is in C#, but might help you to get an idea:
Resources which might help:
http://msdn.microsoft.com/en-us/library/ms646260%28VS.85%29.aspx
http://www.codeguru.com/Cpp/W-P/win32/article.php/c4543/
Lukas Šalkauskas' solution has worked for me for quite some time, but today it suddenly resulted in the following error (perhaps due to some .NET update by Windows Update?)
So I switched to the pinvoke.net sample code and it works well now: