GetWindowText在Windows 2000下失灵
我发现以前那些可以查***密码的软件在Win2000下都失效了,显示不出文本框里的文本(包括程序本身的文本框)。
于是自己写了一个程序,发现果然如此,但是SetWindowText就可以正常使用。
为什么?
除此外有什么办法可以用窗口句柄得到文本框内容的函数吗?
问题点数:40、回复次数:4Top
1 楼abszero(五月的雪)回复于 2002-01-03 11:57:04 得分 10
首先,要搞清显示***密码的控件是不是标准的文本框。有些软件为了避免被别人用GetWindowText的方法得到密码,使用了特殊的文本框,这种情况我还不知道怎样获取其中的内容。
其次,你是说程序本身的文本框里的东西都显示不出来吗?不会吧,我这里可以呀。代码如下:
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Dim Password As String
Password = String(255, 0) '这句必须要有
GetWindowText Text2.hwnd, Password, Len(Password)
Text1.Text = Password
再次,如果你想知道如何获取其他程序窗口中标准文本框(注意,是标准文本框)中的内容的话,我可以给你一段代码。Top
2 楼dbcontrols(泰山__抛砖引玉)回复于 2002-01-03 12:12:42 得分 10
只要得到它的类名就可以取到句柄.http://www.wzjcw.net/vbgood/taishan/index.html的软键盘就是不考虑窗口的标题,根本不用使用GetWindowText.Top
3 楼langzhi(langzhi)回复于 2002-01-03 12:24:46 得分 20
首先你的思路是错误的.
getwindowtext是取得窗口标题的文本,而不是文本框的文本.
取得文本框的文本应该用sendmessage.Top
4 楼langzhi(langzhi)回复于 2002-01-03 12:34:43 得分 0
http://www.csdn.net/expert/Topic/387/387337.shtm
http://www.csdn.net/expert/Topic/373/373285.shtmTop




