I'm trying to learn mouse/keyboard emulation using win api.
I found out that it is possible to emulate button click using sendmessage() function.
Well, I get coordinates of "play" button (it is (60;100)) and trying to push this button using the following code:
int x = 60;
int y = 100;
int lParam = ((x << 16) | (y & 0xffff));
int parentWindow = FindWindow("BaseWindow_RootWnd", "Main Window");//get main winamp window
MessageBox.Show(parentWindow.ToString());//failed if 0
SendMessage(parentWindow, WM_LBUTTONDOWN, IntPtr.Zero, new IntPtr(lParam));//send left mouse button down
SendMessage(parentWindow, WM_LBUTTONUP, IntPtr.Zero, new IntPtr(lParam));//send left mouse button up
But this code has no effect on the winamp.
Can anybody point me on the mistakes i made? Any help is greatly appreciated!
p.s. It's not applicable for me to move mouse to the winamp play button, than do a click, than move it back.
Also for winamp it is impossible to get button's handle. With button handle SendMessage() works fairly well, but with coordinates it doesn't at all.
ADDITION #1
Well, the code above activates winamp window and shows it, if it was minimized. But play button stil don't want to be pushed ;(
ADDITION #2
Here are messages I get after I execute the code above.