C#:划词-外部程序获取IE页面选择文本

来源:互联网 发布:linux mysql安装图解 编辑:程序博客网 时间:2024/04/29 23:39

C#:划词-外部程序获取IE页面选择文本

   //using SHDocVw; 需要添加引用 COM:MicroSoft Internet Control
   //using mshtml; 需要添加引用 COM:MicroSoft HTML Object Libary
   //using System.Runtime.InteropServices;

   // 调用:textBox1.Text=GetSelectedIEtext();

   [DllImport("user32", EntryPoint="FindWindow")] 
   public static extern int FindWindowA(string lpClassName, string lpWindowName);

   /// <summary>
   /// 获取网页鼠标选择文本内容,只支持IE
   /// </summary>
   /// <returns></returns>
   public static string GetSelectedIEtext()
   {
    int ieHwnd=FindWindowA("IEFrame",null);
    IShellWindows sw=new ShellWindowsClass();
    string res=null;
    for (int i=sw.Count-1;i>=0;i--)
    {
     try
     {
      SHDocVw.IWebBrowser2 ib=sw.Item(i) as SHDocVw.IWebBrowser2;
      if(((SHDocVw.IWebBrowser2)sw.Item(i)).HWND==ieHwnd)
      {
       mshtml.IHTMLTxtRange txt=((HTMLDocumentClass)ib.Document).selection.createRange() as IHTMLTxtRange;
       res=txt.text;
       break;
      }
     }
     catch
     {
      res=null;
     }
    
    }
    return res;
   }

原创粉丝点击