webbrowser指定顯示網頁的位置然後API實現模擬人工點擊

HtmlDocument document = this.webBrowser1.Document;//
            document.Window.ScrollTo(20, 102);
            DoMouseClick(10,10);
//設定webbrowser顯示網頁的位置
--------------------------------------------------------------------------------------------------
 #region  API單擊
        [DllImport("user32.dll", SetLastError = true)]
        private static extern IntPtr GetWindow(IntPtr hWnd, uint uCmd);
                [DllImport("user32.dll", CharSet = CharSet.Auto)]
        private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
        private void DoMouseClick(int ex, int ey)
        {
            IntPtr handle = this.WebBaiDu.Handle;
            StringBuilder lpClassName = new StringBuilder(100);
            while (lpClassName.ToString() != "Internet Explorer_Server")
            {
                handle = GetWindow(handle, 5);
                GetClassName(handle, lpClassName, lpClassName.Capacity);
            }
            IntPtr lParam = (IntPtr)((ey << 0x10) | ex);
            IntPtr zero = IntPtr.Zero;
            SendMessage(handle, 0x201, zero, lParam);
            SendMessage(handle, 0x202, zero, lParam);
        }
        private void DoMouseClick(IntPtr handle, int ex, int ey)
        {
            StringBuilder lpClassName = new StringBuilder(100);
            while (lpClassName.ToString() != "Internet Explorer_Server")
            {
                handle = GetWindow(handle, 5);
                GetClassName(handle, lpClassName, lpClassName.Capacity);
            }
            IntPtr lParam = (IntPtr)((ey << 0x10) | ex);
            IntPtr zero = IntPtr.Zero;
            SendMessage(handle, 0x201, zero, lParam);
            SendMessage(handle, 0x202, zero, lParam);
        }
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        private static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount);
        #endregion
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章