如何利用鼠标钩子实现获取某一控件的caption、任意窗体的caption呢!
最近,遇到了这个难题,虽然编写了一个程序,但是只能获取自身窗体的caption,不能得到其他窗体的,另外某一控件的caption如何获取?请各位高手帮忙了! 问题点数:50、回复次数:8Top
1 楼goodboyws(深夜不眠者(VCMVP))回复于 2005-08-02 15:26:54 得分 5
控件没有Caption,窗口的Caption不用钩子,直接用GetWindowText即可Top
2 楼bobob(静思)回复于 2005-08-02 16:03:49 得分 0
最近,遇到了这个难题,虽然编写了一个程序,但是只能获取自身窗体的caption,不能得到其他窗体的,另外某一控件的caption如何获取?请各位高手帮忙了!
===========================>
GetWindowText只能取同一个进程的窗口标题
char szText[256];
跨进程使用SendMessage(Hwnd,WM_GETTEXT,(WPARAM)256,(LPARAM)szText);
Top
3 楼frank_necsthz(磊磊)回复于 2005-08-02 16:31:45 得分 0
能否再具体一些!谢谢!Top
4 楼frank_necsthz(磊磊)回复于 2005-08-02 16:33:14 得分 0
SendMessage(Hwnd,WM_GETTEXT,(WPARAM)256,(LPARAM)szText);
这里的WM_GETTEXT,256是什么意思呢?Top
5 楼bobob(静思)回复于 2005-08-02 17:03:37 得分 35
char szText[256];
SendMessage(Hwnd,WM_GETTEXT,(WPARAM)256,(LPARAM)szText);
256是数组长度,WM_GETTEXT是要发的消息,Hwnd是控件句柄(可以是其他程序中的控件)Top
6 楼surstar(我要写个操作系统出来……)回复于 2005-08-02 17:08:00 得分 5
wParam
Specifies the maximum number of TCHARs to be copied, including the terminating null character.
缓冲区的长度,
然后返回的结果在szText中Top
7 楼lbird(heng)回复于 2005-08-02 17:49:28 得分 0
WM_GETTEXT能跨进程使用??
不可能吧,szText是在本进程分配的空间,另一个进程能直接往这个空间写数据?Top
8 楼lbird(heng)回复于 2005-08-02 17:53:26 得分 5
刚刚查了一下资料,确实可以哦。
这个消息系统有特殊处理Top




