1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using System.Runtime.InteropServices;
  9.  
  10. namespace BrowserMouseClick
  11. {
  12. public partial class Form1 : Form
  13. {
  14. [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
  15. static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
  16.  
  17. [DllImport("user32.dll", SetLastError = true)]
  18. static extern IntPtr GetWindow(IntPtr hWnd, uint uCmd);
  19.  
  20. [DllImport("user32.dll", CharSet = CharSet.Auto)]
  21. static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount);
  22.  
  23. public Form1()
  24. {
  25. InitializeComponent();
  26. }
  27.  
  28. private void Form1_Load(object sender, EventArgs e)
  29. {
  30. webBrowser1.Navigate("http://www.devpub.com");
  31. }
  32.  
  33. private void btnMouseClick_Click(object sender, EventArgs e)
  34. {
  35. int x = 100; // X coordinate of the click
  36. int y = 80; // Y coordinate of the click
  37. IntPtr handle = webBrowser1.Handle;
  38. StringBuilder className = new StringBuilder(100);
  39. while (className.ToString() != "Internet Explorer_Server") // The class control for the browser
  40. {
  41. handle = GetWindow(handle, 5); // Get a handle to the child window
  42. GetClassName(handle, className, className.Capacity);
  43. }
  44.  
  45. IntPtr lParam = (IntPtr)((y << 16) | x); // The coordinates
  46. IntPtr wParam = IntPtr.Zero; // Additional parameters for the click (e.g. Ctrl)
  47. const uint downCode = 0x201; // Left click down code
  48. const uint upCode = 0x202; // Left click up code
  49. SendMessage(handle, downCode, wParam, lParam); // Mouse button down
  50. SendMessage(handle, upCode, wParam, lParam); // Mouse button up
  51. }
  52. }
  53. }

  

c# 在WebBrowser中用SendMessage模拟鼠标点击的更多相关文章

  1. sendmessage()模拟鼠标点击

    {鼠标软模拟:好处就是不会真的移动鼠标 开始按钮 坐标 x=386y=387 }sendmessage(hookHwnd,messages.WM_LBUTTONDOWN ,0,$0180017A); ...

  2. 使用JS或jQuery模拟鼠标点击a标签事件代码

    原文 使用JS或jQuery模拟鼠标点击a标签事件代码 这篇文章主要介绍了使用JS或jQuery模拟鼠标点击a标签事件代码,需要的朋友可以参考下 <a id="alink" ...

  3. jquery 动态绑定bind()及模拟鼠标点击A链接

    近来自觉前端有小小进步,幸而记之. 1.两个 css class 紧挨在一起 则在html元素中,要同时拥有这两个class,才能起作用 .block.db{ background-image:url ...

  4. Unity问答——NGUI怎么使用按键模拟鼠标点击?

    这篇博客源自我在泰课在线的回答.链接:http://www.taikr.com/group/1/thread/248 问:NGUI怎么模拟用代码模拟控制点击 答: 1. 这个问题问得好.因为在使用按键 ...

  5. 利用JS最真实的模拟鼠标点击

    为了破解永乐票务登录验证码问题 http://www.228.com.cn/auth/login?logout 当然,打码的过程自然依赖第三方平台,但问题是,哪怕平台给了你需要点击的(相对)坐标.你又 ...

  6. MFC模拟鼠标点击

    MFC 工程 把以下代码放到你想要响应的函数里面就行 CPoint pt; GetCursorPos(&pt);//获取鼠标在屏幕的当前位置 SetCursorPos(100,200);//移 ...

  7. 使用JS或jQuery模拟鼠标点击a标签事件

    <a id="alink" href="abc.aspx"  style="visibility: hidden;">下一步&l ...

  8. 使用jQuery模拟鼠标点击a标签事件

    来源于:https://mo2g.com/view/42/ <html> <head> <meta charset="UTF-8"> <t ...

  9. 远程控制篇:用Delphi模拟键盘输入/鼠标点击

    模拟键盘我们用Keybd_event这个api函数,模拟鼠标按键用mouse_event函数. Keybd_event函数能触发一个按键事件,也就是会产生一个WM_KEYDOWN或WM_KEYUP消息 ...

随机推荐

  1. python 3 过滤股票

    参考某个博客,代码不全,地址找不到了见谅,加了些自己弄的算法. 备忘 #-*- coding: utf-8 -*-import os, reimport time def filefilter(com ...

  2. Python logger模块

    1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...

  3. C# 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)

    C# 在调用C++dll时,可能会出现 :试图加载格式不正确的程序. (异常来自 HRESULT:0x8007000B)这个错误. 一般情况下是C#目标平台跟C++dll不兼容,64位跟32位兼容性问 ...

  4. c# datarow[] 转换成 datatable, List<T> 转datatable

      c# datarow[] 转换成 datatable, List<T> 转datatable DdataRow[]转成Datatable private DataTable ToDat ...

  5. 简说mvc路由

    首先我们通过在Global.asax中的Application_Start将路由信息注册到RouteTable的Routes静态属性中.如下代码所示: public class RouteTable ...

  6. 性状、生成器、闭包、OPcache【Modern PHP】

    目录 性状 Trait 生成器 闭包 Zend OPcache PHP发展这么多年,技术.架构都已经革新,了解现代PHP很重要,最近在看Model PHP这本书,系统的了解下PHP相关的概念. 性状 ...

  7. 计算机应用基础教程作业flash动画 车辆工程 冯大昕

  8. ZT Android的引用计数(强弱指针)技术及一些问题

    Android的引用计数(强弱指针)技术及一些问题 分类: Android 2013-06-07 18:25 844人阅读 评论(4) 收藏 举报 目录(?)[+] Android C++框架层的引用 ...

  9. MVC与EF结合:Contoso大学

    中文教程 1.通过 MVC 5 使用 Entity Framework 6 Code First 入门 https://docs.microsoft.com/zh-cn/aspnet/mvc/over ...

  10. IOS XMPP(即时通讯的框架)

    #import "AppDelegate.h" #import "XMPPFramework.h" /* * 在AppDelegate实现登录 1. 初始化XM ...