C# 如何将鼠标单击事件发送到隐藏窗口?

C# 如何将鼠标单击事件发送到隐藏窗口?,c#,winforms,winapi,C#,Winforms,Winapi,认识到可能需要一些互操作,如何将鼠标单击事件发送到当前未显示的窗口?我有一个作为服务运行的应用程序,它摆弄着隐藏的窗口,需要向其中一个窗口发送鼠标单击事件,即使它实际上无法显示窗口 我通常的做法是在适当的位置向屏幕发送一个点击,但显然这种方法在这种情况下不起作用。想法?使用Spy++找出显示窗口时向窗口发送的Windows消息,然后用鼠标单击它,然后使用SendMessage直接发送这些消息。如果您可以获得窗口的HWND,这非常简单。 与WM_LBUTTONDOWN一起使用可左键单击 示例:点击

认识到可能需要一些互操作,如何将鼠标单击事件发送到当前未显示的窗口?我有一个作为服务运行的应用程序,它摆弄着隐藏的窗口,需要向其中一个窗口发送鼠标单击事件,即使它实际上无法显示窗口


我通常的做法是在适当的位置向屏幕发送一个点击,但显然这种方法在这种情况下不起作用。想法?

使用Spy++找出显示窗口时向窗口发送的Windows消息,然后用鼠标单击它,然后使用SendMessage直接发送这些消息。

如果您可以获得窗口的HWND,这非常简单。 与WM_LBUTTONDOWN一起使用可左键单击

示例:点击位置10,10(未测试,C)


好的,Spy++有一些有用的提示,我如何访问“SendMessage”?是PostMessage想要的相对于屏幕的坐标,还是目标窗口?
HWND hWnd = (hwnd of window)
WORD mouseX = 10;
WORD mouseY = 10;
PostMessage(hWnd,WM_LBUTTONDOWN,0,MAKELPARAM(mouseX,mouseY));