日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

C#获取类名为Internet_Explorer_Server控件的内容

發(fā)布時(shí)間:2024/9/20 C# 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#获取类名为Internet_Explorer_Server控件的内容 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

為了讓大家都能夠使用demo,我以IE為測(cè)試對(duì)象,另外為了突出重點(diǎn),所以如何獲取窗口句柄我就不做演示了(不清楚的童鞋,可以去Google下哈),句柄值我使用spy++獲得

? ? ? 大家可以下載demo(附:spy++)到本地進(jìn)行調(diào)試學(xué)習(xí),希望這篇文章對(duì)大家有所幫助

知識(shí)點(diǎn):

1.Internet_Explorer_Server

2.msthml

3.API:RegisterWindowMessage

4.API:ObjectFromLresult

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Diagnostics; using System.Threading; using mshtml;namespace 獲取類名Internet_Explorer_Server控件的內(nèi)容 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){if(String.IsNullOrEmpty(tbHandle.Text)){MessageBox.Show("請(qǐng)寫好窗口類名為:Internet Explorer_Server的窗口句柄");return;}mshtml.IHTMLDocument2 id = GetHtmlDocument(int.Parse(tbHandle.Text));textBox1.Text = id.body.innerHTML;} class Win32API{[DllImport("user32", EntryPoint = "SendMessage")]public static extern int SendMessage(int hwnd, int wMsg, int wParam, ref int lParam);[DllImport("user32", EntryPoint = "RegisterWindowMessage")]public static extern int RegisterWindowMessage(string lpString);[DllImport("OLEACC.DLL", EntryPoint = "ObjectFromLresult")]public static extern int ObjectFromLresult(int lResult,ref System.Guid riid,int wParam,[MarshalAs(UnmanagedType.Interface), System.Runtime.InteropServices.In, System.Runtime.InteropServices.Out]ref System.Object ppvObject//注意這個(gè)函數(shù)ObjectFromLresult的聲明);}public mshtml.IHTMLDocument2 GetHtmlDocument(int hwnd){System.Object domObject = new System.Object();int tempInt = 0;System.Guid guidIEDocument2 = new Guid();int WM_Html_GETOBJECT =Win32API.RegisterWindowMessage("WM_Html_GETOBJECT");//定義一個(gè)新的窗口消息int W = Win32API.SendMessage(hwnd, WM_Html_GETOBJECT, 0, ref tempInt);//注:第二個(gè)參數(shù)是RegisterWindowMessage函數(shù)的返回值int lreturn = Win32API.ObjectFromLresult(W, ref guidIEDocument2, 0, ref domObject);mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)domObject;return doc;}} }

這里,我以IE打開的百度首頁(yè)為測(cè)試對(duì)象,效果如下:


總結(jié)

以上是生活随笔為你收集整理的C#获取类名为Internet_Explorer_Server控件的内容的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。