想得到另一个程序(不是我编的)中鼠标所选的内容,请问用FindWindow得到指针后怎么办?
或者还有没有其他办法?
重酬(可另看帖给分)!!

解决方案 »

  1.   

    如果是Richedit可直接发EM_GETSELTEXT
    如果是Edit,先发EM_GETSEL得到始终点
      

  2.   

    你现在想做的事也许就是我曾经想做的事,两个办法:
    其一摩仿"复制""粘贴":SendMessage(hwnd_SRC,WM_COPY,0,0);SendMessage(hwnd_DEG,WM_PASTE,0,0);
    其二,最好用下面的办法(如果你想得到该对象下的全部的文字):
    char text[256];
    SendMessage(hwnd,WM_GETTEXT,256,(LPARAM)text);
      

  3.   

    This function sends the specified message to a window or windows. SendMessage calls the window procedure for the specified window and does not return until the window procedure has processed the message. The PostMessage function, in contrast, posts a message to a thread's message queue and returns immediately. LRESULT SendMessage(
    HWND hWnd, 
    UINT Msg, 
    WPARAM wParam, 
    LPARAM lParam );
      

  4.   

    我用SendMessage(hwnd,WM_GETTEXT,256,(LPARAM)text);
    试了一下,有些控件就可以得到,有些就得不到.
    问题是对方的应用程序好像是用vb或者是delphi写的,反正就不是vc,
    这样就不知道他究竟是什么控件来的,应该怎么样办啊?
    我想得到鼠标选中的内容该如何办?
    楼上说用消息钩子,具体用什么消息?怎么写?
      

  5.   

    SendMessage(hwnd,WM_GETTEXT,256,(LPARAM)text);在目前的Win下都可以(前几天,我还在一批2K电脑上用过).
    有些得不到____问题****不是***对方是用哪种语言写的.
    问题可能主要有二:
    1.是人家不是通过正常设置控件某一属性来显示文字,而是用画出来的;
    2.可能是人家对WM_GETTEXT消息作了处理///////////
    "想得到鼠标选中的内容该"?
    上面已经跟你说过了模拟复制和粘贴.虽然Ctrl+C和Ctrl+V被屏蔽了,但用程序发送WM_COPY和WM_PASTE一般还是可以的(除非人家对这两个消息作了处理)
      

  6.   

    模拟复制和粘贴的方法我试过了,但好像不灵.
    好像copy不了选中的数据.
    SendMessage(hwnd,WM_GETTEXT,256,(LPARAM)text);应该可以,但是可能是我无法正确的得到控件的指针,比如vb(好像是用vb写的)里的类似vc里的CListCtrl的控件的指针如何得到?如何遍历它的各个控件呢?我现在用的是GetWindow(GW_CHILD)和GetNextWindow的方法.各位帮忙啊.解决了送300分报答.
      

  7.   

    你可以用SPY++,看看开发者有没有用自定义的消息
      

  8.   

    对于hwnd,如果目标界面固定,你可以用WindowFromPoint来获得,
    如果不固定,可以枚举子窗口
      

  9.   

    枚举子窗口用EnumWindows(,) 然后找到你需要的窗口句柄 然后在用SPY++查找到该窗口控件,然后就很容易了吧  :)
      

  10.   

    WindowFromPoint()
    GetWindowText()