我想做个功能从其他程序中提取文本,比如提取这个how do youdu怎么办
可以根据鼠标位置获取到其句柄了,但是如何具体提取其内容和控件名称呢

解决方案 »

  1.   

    [DllImport("user32.dll")]
            public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);        [DllImport("user32.dll", EntryPoint = "FindWindowEx")]
            private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
            public static int WM_GETTEXT = 0x0D;int hEdit = FindWindowEx(p.MainWindowHandle, 0, "Edit", "");
                        string w = " ";
                        IntPtr ptr = Marshal.StringToHGlobalAnsi(w);
                        if (SendMessage(hEdit, WM_GETTEXT, 100, ptr))                        Console.WriteLine(Marshal.PtrToStringAnsi(ptr));
      

  2.   

    API:
    FindWindow
    FindWindowEx
    GetWindowText
      

  3.   

    http://wenku.baidu.com/view/5ec3a74d2e3f5727a5e962f2.htmlhttp://www.west263.com/www/info/19332-1.htmhttp://www.javaeye.com/topic/601061Marshal.PtrToStringAnsi(ptr)就是取出来的文本
      

  4.   

    上面的“你好”是可以设置和获取的下面的"how do you do"获取不到,也无法设置呢
      

  5.   

    下班英文的
    窗口类型: Internet Explorer_Server
      

  6.   

    哦原来是Internet Explorer_Server,这个我做过.不过是先用VB6写一个DLL再在.NET中用,似乎.NET没法直接写.