Можно ли программно щелкнуть место в другом окне, не перемещая мышь в это место и даже если окно не находится -вверху? Я хочу отправить какое-то сообщение в другое окно, чтобы имитировать щелчок мышью по месту.
Я попытался сделать это с помощью PostMessage:
PostMessage(WindowHandle, 0x201, IntPtr.Zero, CreateLParam(300,300));
PostMessage(WindowHandle, 0x202, IntPtr.Zero, CreateLParam(300,300));
Я сделал функцию CreateLParam таким образом:
private static IntPtr CreateLParam(int LoWord, int HiWord)
{
return (IntPtr)((HiWord << 16) | (LoWord & 0xffff));
}
Проблема в том, что окно блокируется в его местоположении. Я думаю, что мое приложение кликает по координате (1,1 ). Может ли кто-нибудь помочь мне с этой проблемой?
Редактировать :Это PostMessage :
[return: MarshalAs(UnmanagedType.Bool)]
[DllImport("user32.dll")]
public static extern bool PostMessage(IntPtr WindowHandle, int Msg, IntPtr wParam, IntPtr lParam);
, а 0x201 и 0x202 — это WM _LBUTTONDOWN и WM _LBUTTONUP соответственно.