zoukankan      html  css  js  c++  java
  • c# 在WebBrowser中用SendMessage模拟鼠标点击

    using System; 
    using System.Collections.Generic; 
    using System.ComponentModel; 
    using System.Data; 
    using System.Drawing; 
    using System.Text; 
    using System.Windows.Forms; 
    using System.Runtime.InteropServices; 
    
    namespace BrowserMouseClick 
    { 
    public partial class Form1 : Form 
    { 
         [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] 
         static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); 
    
         [DllImport("user32.dll", SetLastError = true)] 
         static extern IntPtr GetWindow(IntPtr hWnd, uint uCmd); 
    
         [DllImport("user32.dll", CharSet = CharSet.Auto)] 
         static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount); 
    
         public Form1() 
         { 
             InitializeComponent(); 
         } 
    
         private void Form1_Load(object sender, EventArgs e) 
         { 
             webBrowser1.Navigate("http://www.devpub.com"); 
         } 
    
         private void btnMouseClick_Click(object sender, EventArgs e) 
         { 
             int x = 100; // X coordinate of the click 
             int y = 80; // Y coordinate of the click 
             IntPtr handle = webBrowser1.Handle; 
             StringBuilder className = new StringBuilder(100); 
             while (className.ToString() != "Internet Explorer_Server") // The class control for the browser 
             { 
                 handle = GetWindow(handle, 5); // Get a handle to the child window 
                 GetClassName(handle, className, className.Capacity); 
             } 
    
             IntPtr lParam = (IntPtr)((y << 16) | x); // The coordinates 
             IntPtr wParam = IntPtr.Zero; // Additional parameters for the click (e.g. Ctrl) 
             const uint downCode = 0x201; // Left click down code 
             const uint upCode = 0x202; // Left click up code 
             SendMessage(handle, downCode, wParam, lParam); // Mouse button down 
             SendMessage(handle, upCode, wParam, lParam); // Mouse button up 
         } 
    } 
    }
    

      

  • 相关阅读:
    私有构造函数(C# 编程指南)
    unshift(), push(),shift(),pop()函数的运用
    flex转载
    二叉树各节点的实现
    关于删除树中指定节点的实例分析
    树的各种操作代码实现
    关于二叉查找树的++迭代器的实现
    利用map,以一个单词为键,以与它相差一个字母的单词组集作为值的算法编程
    逆向单项链表的算法
    给Vector类添加insert
  • 原文地址:https://www.cnblogs.com/anlaoliu/p/7474465.html
Copyright © 2011-2022 走看看