试试看用sendmessage发送一条WM_GETTEXT消息?

解决方案 »

  1.   


    char szText[256]; 
    WPARAM wParam = sizeof(szText); 
    LPARAM lParam = (LPARAM)szText; 
    memset (szText, 0, sizeof(szText)); 
    SendMessage(hwndEdit, WM_GETTEXT, wParam, lParam); 
    上面是c++的代码实现,可以参考!
      

  2.   

                        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));
    48楼回复
    http://topic.csdn.net/u/20100603/09/8ed5d58b-feb1-4c02-b4cb-f2cf1e064f60.html
      

  3.   

    完整的:
    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;
    2、调用方法: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));
      

  4.   

    sendmessage可以搞定。但也并非所有的。
      

  5.   

    private   void   button1_Click(object   sender,   System.EventArgs   e) 

    int   hwnd   =   FindWindow( "notepad ",   null); 
    hwnd   =   FindWindowEx(hwnd,   0,   "Edit ",   null); 
    System.Text.StringBuilder   str   =   new   System.Text.StringBuilder(255); 
    SendMessage(hwnd,   0xD,   str.Capacity,   str); 
    MessageBox.Show(str.ToString()); 

      

  6.   

    具体要获得的内容如下图SESSION1窗口中的文本
      

  7.   

    晕倒, 那个根本就不是 Edit 控件, 怎么获取 Text
      

  8.   

    spy++看看有文本那块是什么。贴图上来。看控件的类名
      

  9.   


    16楼,以上把SPY++那个文本块的控件类名取出来了。
      

  10.   

    如果你没点错。那就无法获得了。可能是gdi画上去的。
      

  11.   

    要不你吧那玩意整到csdn下载。大家试试。否则大家看帖子就这么对着这么一张“蒙娜丽莎”微笑,估计没法知道你真正的问题…
      

  12.   

    看来不是那么容易的,还以为是textbox呢
      

  13.   

    了解了一下,是不是要用到hook?谁能提供一个C#的hook例子给我。