Code Bye

怎么样实现向文本框中输入信息并自动提交?

某应用程序窗口,该窗口中有一个“文本框”,还有一个“按钮”,怎么样编程实现自动向“文本框”中自动输入信息,自动点击“按钮”提交信息。
当前条件:已知该窗口句柄。
问题1:C#编程怎么样找到“文本框”控件,并向其中输入信息呢?

问题2:C#编程怎么样找到“按钮”控件,并实现点击操作呢?
解决方案:30分

问题1:C#编程怎么样找到“文本框”控件,并向其中输入信息呢?

FindWindow找到最顶层的窗口

FindWindowEx找到子窗口(你需要多次调用)

http://msdn.microsoft.com/en-us/library/windows/desktop/ms633500(v=vs.85).aspx

注意_In_opt_  HWND hwndChildAfter这个参数,它是关键

假如文本框不是主窗口的子窗口,那么重复这个过程,直到找到文本框。

问题2:C#编程怎么样找到“按钮”控件,并实现点击操作呢?

一样的过程。点击就是发送wm_click消息。

假如你知道这两个控件的ID,也可以用GetDlgItem直接得到句柄。
至于控件的层次关系和ID,可以用SPY++了解。

解决方案:10分
除通过窗口句柄外,还可用按键精灵,
解决方案:50分
[DllImport(“user32.dll”, EntryPoint=”SendMessageA”)]
private static extern int SendMessage (IntPtr hwnd, int wMsg, IntPtr wParam,  string lParam);
[DllImport(“user32.dll”, EntryPoint=”SendMessageA”)]
private static extern int SendMessage (IntPtr hwnd, int wMsg, IntPtr wParam,  ref Rectangle lParam);

//调用:
string s = “test”;
SendMessage(this.textBox1.Handle, WM_SETTEXT, IntPtr.Zero, s);

解决方案:10分
不需要 调用api假如 本人记得没错 winform里自带 SendMsg什么的方法

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明怎么样实现向文本框中输入信息并自动提交?