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 );
如果是Edit,先发EM_GETSEL得到始终点
其一摩仿"复制""粘贴":SendMessage(hwnd_SRC,WM_COPY,0,0);SendMessage(hwnd_DEG,WM_PASTE,0,0);
其二,最好用下面的办法(如果你想得到该对象下的全部的文字):
char text[256];
SendMessage(hwnd,WM_GETTEXT,256,(LPARAM)text);
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam );
试了一下,有些控件就可以得到,有些就得不到.
问题是对方的应用程序好像是用vb或者是delphi写的,反正就不是vc,
这样就不知道他究竟是什么控件来的,应该怎么样办啊?
我想得到鼠标选中的内容该如何办?
楼上说用消息钩子,具体用什么消息?怎么写?
有些得不到____问题****不是***对方是用哪种语言写的.
问题可能主要有二:
1.是人家不是通过正常设置控件某一属性来显示文字,而是用画出来的;
2.可能是人家对WM_GETTEXT消息作了处理///////////
"想得到鼠标选中的内容该"?
上面已经跟你说过了模拟复制和粘贴.虽然Ctrl+C和Ctrl+V被屏蔽了,但用程序发送WM_COPY和WM_PASTE一般还是可以的(除非人家对这两个消息作了处理)
好像copy不了选中的数据.
SendMessage(hwnd,WM_GETTEXT,256,(LPARAM)text);应该可以,但是可能是我无法正确的得到控件的指针,比如vb(好像是用vb写的)里的类似vc里的CListCtrl的控件的指针如何得到?如何遍历它的各个控件呢?我现在用的是GetWindow(GW_CHILD)和GetNextWindow的方法.各位帮忙啊.解决了送300分报答.
如果不固定,可以枚举子窗口
GetWindowText()