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

      

  • 相关阅读:
    MSCRM 2011 修改显示记录数
    医疗相关名词解析
    把图片中的文字转成文本
    自我介绍吧
    第三次作业
    第一次作业心得
    耿丹161第一次作业
    第二次作业
    C#常用函数表及Asp.net(C#)常用函数表
    C语言I博客作业02
  • 原文地址:https://www.cnblogs.com/sanler/p/7474465.html
Copyright © 2020-2023  润新知