c#模拟鼠标点击,在线快结 思路是这样的:winform中有个webBrowser1窗体加载的时候鼠标自动点击 webBrowser中网页的输入框 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 去网上找这2个api的原型MouseEvent_LeftButtonDownMouseEvent_LeftButtonUP 做死的基本上可以实现,通过button触发可以实现,但是Form1_Load 触发不到 private void Form1_Load(object sender, EventArgs e) { webBrowser1.Navigate(@"E:\123\demo\WindowsApplication3\html\HTMLPage1.htm"); private void button2_Click(object sender, EventArgs e) { NativeRECT rect; IntPtr ptrTaskbar = FindWindow("Shell_TrayWnd", null); if (ptrTaskbar == IntPtr.Zero) { MessageBox.Show("No taskbar found."); return; } IntPtr ptrStartBtn = FindWindowEx(new HandleRef(this, ptrTaskbar), new HandleRef(this, IntPtr.Zero), "Button", null); if (ptrStartBtn == IntPtr.Zero) { MessageBox.Show("No start button found."); return; } GetWindowRect(new HandleRef(this, ptrStartBtn), out rect); Point p = new Point(30, 110); Cursor.Position = this.PointToScreen(p); mouse_event(MouseEventFlag.LeftDown, 0, 0, 0, UIntPtr.Zero); } 中间的拷贝多了,但是button下是可以触发的 <script type="text/javascript">function clickk(){ document.getelementByid("as").focus() document.getelementByid("as").select()}</script><body topMargin="10" onload="clickk() "> 最简陋的做法是搞个计时器,formload里开始timer.enabled=true,100毫秒后执行点击函数此外 mouse_event(MouseEventFlag.LeftDown, 0, 0, 0, UIntPtr.Zero);后要 mouse_event(MouseEventFlag.LeftUp, 0, 0, 0, UIntPtr.Zero);不然你的鼠标左键会一直处于按下的状态,下一次LeftDown就没用了 没有人知道吗?点击button的时候可以触发事件,但是form_load的时候 不行 这个问题要换个思路吧.比如说点击网页中输入框以后,会打开一个什么url的新网页,直接把这个新网页的url作为webbrowser的url 【分享】C# 美化窗体(换肤) Socket.Blocking=true会阻塞应用程序主线程吗? 技师排班 谁来解释一下这个现象 VS2008+SQL2005读取显示数据库的问题 关于Accp5.0第二学期深入.NET平台和C#编程 :魔幻战士 关于自定义 WebControl 使用 ViewState 的问题 100分!求如何做MIS(管理信息系统)的帮助?第一次做帮助没有经验?最好可以介绍一下帮助的整体架构 ioc 简单工厂的区别 请大家看看为什么这里不能从数据库取出数据阿 执行到TcpListener.AcceptSocket()就不继续执行了 gridview编辑操作 急!!!
MouseEvent_LeftButtonDown
MouseEvent_LeftButtonUP
{ webBrowser1.Navigate(@"E:\123\demo\WindowsApplication3\html\HTMLPage1.htm");
private void button2_Click(object sender, EventArgs e)
{
NativeRECT rect; IntPtr ptrTaskbar = FindWindow("Shell_TrayWnd", null);
if (ptrTaskbar == IntPtr.Zero)
{
MessageBox.Show("No taskbar found.");
return;
} IntPtr ptrStartBtn = FindWindowEx(new HandleRef(this, ptrTaskbar), new HandleRef(this, IntPtr.Zero), "Button", null);
if (ptrStartBtn == IntPtr.Zero)
{
MessageBox.Show("No start button found.");
return;
} GetWindowRect(new HandleRef(this, ptrStartBtn), out rect);
Point p = new Point(30, 110);
Cursor.Position = this.PointToScreen(p);
mouse_event(MouseEventFlag.LeftDown, 0, 0, 0, UIntPtr.Zero); }
function clickk()
{
document.getelementByid("as").focus()
document.getelementByid("as").select()
}</script><body topMargin="10" onload="clickk() ">
此外
mouse_event(MouseEventFlag.LeftDown, 0, 0, 0, UIntPtr.Zero);后要
mouse_event(MouseEventFlag.LeftUp, 0, 0, 0, UIntPtr.Zero);
不然你的鼠标左键会一直处于按下的状态,下一次LeftDown就没用了
点击button的时候可以触发事件,但是form_load的时候 不行
比如说点击网页中输入框以后,会打开一个什么url的新网页,直接把这个新网页的url作为webbrowser的url