Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement