如何获得一个运行程序窗口标题栏上的文字?
如何获得一个运行程序窗口标题栏上的文字? 问题点数:0、回复次数:13Top
1 楼papaya_stone(^_^)shentong(^_^)回复于 2003-08-04 14:07:15 得分 0
先FindWindow()找到窗口的HWND,在GetWindowText();Top
2 楼baodi_z(冷冷的太阳)回复于 2003-08-04 14:12:31 得分 0
楼上正解Top
3 楼nonocast(如果没有如果)回复于 2003-08-04 15:31:00 得分 0
GetWindowText()Top
4 楼wym612()回复于 2003-08-07 11:54:44 得分 0
可看不出窗口的文字是什么呀?怎么办?Top
5 楼thekin()回复于 2003-08-17 11:02:12 得分 0
AfxGetMainWnd()->GetWindowText();Top
6 楼xiaofei7569(夏雁)回复于 2003-08-18 19:52:47 得分 0
同意二楼的.Top
7 楼GFK(金鱼王)回复于 2003-08-18 20:06:14 得分 0
获得一个运行程序窗口标题栏上的文字,有什么用!Top
8 楼laodie(张三)回复于 2003-08-18 20:08:02 得分 0
那就仔细看一下FindWindow(),GetWindowText()的函数说明吧:
函数功能:该函数获得一个顶层窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数不查找子窗口。在查找时不区分大小写。
函数型:HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName);
参数:
IpClassName :指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。如果该参数为一个成员,则它必须为前次调用theGlobafAddAtom函数产生的全局成员。该成员为16位,必须位于IpClassName的低 16位,高位必须为 0。
IpWindowName:指向一个指定了窗口名(窗口标题)的空结束字符串。如果该参数为空,则为所有窗口全匹配。
返回值:如果函数成功,返回值为具有指定类名和窗口名的窗口句柄;如果函数失败,返回值为NULL。
若想获得更多错误信息,请调用GetLastError函数。
备注:Windows CE:若类名是一个成员,它必须是从 RegisterClass返回的成员。
速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;头文件:Winuser.h;库文件:user32.lib; Unicode:在 Windows NT上实现为 Unicode和 ANSI两种版本。
----------------------------------------------------------
GetWindowText()
函数功能:该函数将指定窗口的标题条文本(如果存在)拷贝到一个缓存区内。如果指定的窗口是一个控制,则拷贝控制的文本。但是,GetWindowTeXt不能接收在其他应用程序中的控制文本。
函数原型:Int GetWindowText(HWND hWnd,LPTSTR lpString,Int nMaxCount);
参数:
hWnd:带文本的窗口或控制的句柄。
IpString:指向接收文本的缓冲区的指针。
nMaxCount:指定要保存在缓冲区内的字符的最大个数,其中包含NULL字符。如果文本超过界限,它就被截断。
返回值:如果函数成功,返回值是拷贝的字符串的字符个数,不包括中断的空字符;如果窗口无标题栏或文本,或标题栏为空,或窗口或控制的句柄无效,则返回值为零。若想获得更多错误信息,请调用GetLastError函数。
函数不能返回在其他应用程序中的编辑控制的文本。
备注:如果目标窗口属于当前进程,GetWindowText函数给指定的窗口或控制发送WM_GETTEXT消息。如果目标窗口属于其他进程,并且有一个窗口标题,则GetWindowTeXt返回窗口的标题文本,如果窗口无标题,则函数返回空字符串。
速查:Windows NT:3.1以上版本;Windows:95以上版本:Windows CE:1.0以上版本;头文件:Winuser.h;库文件:user32.lib:Unicode:在Windows NT上实现为Unicode和ANSI两种版本。
Top
9 楼sad_4978(回忆之前,忘记之后)回复于 2003-08-19 06:43:56 得分 0
GetWindowText()!Top
10 楼flinming(flinming)回复于 2003-08-19 09:26:19 得分 0
GetWindowText();
Top
11 楼zhucde(【風間苍月】★<==>★【虚拟闲人】)回复于 2003-08-19 09:33:47 得分 0
如果你正在运行一个记事本,
你可以:
CString str;
CWnd *pwnd=FindWindow("notepad",NULL);
pwnd->GetWindowText(str),
那么此时这个记事本的标题文字就存在了str中,
你可以用很多方法显示此字符串Top
12 楼lifeequation(果皮)回复于 2003-08-19 10:46:09 得分 0
同意ing,,,,,Top
13 楼bborn(生命在于折腾)回复于 2003-08-19 11:31:21 得分 0
没有标题栏的文字 如何用FindWindow ?
Top




