可以换种想法,使用Clipboard
private void CtrlV(string text) { Clipboard.Clear(); Clipboard.SetText(text); Keyboard.Type(text); }
Keyboard.Type()使用SendKeys.Send(^v)
找到输入框的句柄,直接用Windows API的SendMessage或PostMessage应该就可以了
上面都说过了,句柄不唯一,但是那个窗口是活动窗体,但我一直无法获取到其句柄,获得的只是本窗体的句柄……无解啊……
@Cosmic_Spy: 你可以再找一下FindWindowEx这个API
@狼Robot: 不好意思,解决问题的思路不是这个方向~~~
你能拿到活动窗体的实体对象不.?
如果能拿到的话.那么让所有的窗体继承一个父窗体,在父窗体中创建一个SendMessage方法,
到时候只要是点击按钮,取到窗体的实体对象,然后调用SendMessage方法就可以了.
我用GetActiveWindow和GetForegroundWindow都无法获取其句柄,另外,貌似你理解的有些偏差,我是发送字符串给外部程序……
@Cosmic_Spy: 嗯.是我理解有问题...
如果是外部程序只能是根据句柄来做了.....