c#中如何使用windows API向指定窗口发送按键消息?
永远的小鱼 2013-02-27 11:12:26 我电脑上打开多个计算器
Process[] ProcessList = Process.GetProcessesByName("calc");
IntPtr calc = ProcessList[0].MainWindowHandle;//获取第一个打开的计算器
--------------------------------------------------------------------------
IntPtr htextbox = FindWindowEx(calc, IntPtr.Zero, null, "=");
SendMessage(htextbox, ControlDLL.WM_LBUTTONDOWN, IntPtr.Zero, null);
SendMessage(htextbox, ControlDLL.WM_LBUTTONUP, IntPtr.Zero, null);
------↑上面这么写可以实现 自动的按计算器上面的那个等号按钮↑-----------
--------------------------------------------------------------------------
但是问题来了,很多的程序,他们的按钮都是图片,也很难用FindWindowEx去获取,
但是他们都有自己的快捷键,比如 enter键,以及组合键Alt+A等等。
很多人说可以使用c#中的 SendKey方法啊,但是这个方法好像只对当前活动窗口有用,
听说 使用 SendMessage 可以实现向窗口发送按键,但是很多方法都试过了 均不好用,
特此来求教大家。
1.如何使用SendMessage 向计算器窗口发送 Enter按键,此窗口不是活动窗口