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 
         } 
    } 
    }
    

      

  • 相关阅读:
    SQL Server 实现Split函数
    15.java设计模式之访问者模式
    14.java设计模式之命令模式
    13.java设计模式之模板模式
    12.java设计模式之代理模式
    11.java设计模式之享元模式
    10.java设计模式之外观模式
    9.java设计模式之组合模式
    8.java设计模式之装饰者模式
    7.java设计模式之桥接模式
  • 原文地址:https://www.cnblogs.com/anlaoliu/p/7474465.html
Copyright © 2011-2022 走看看