函数:
Public Function GetText(Win_hwnd As Long) As String
Dim WinTxtLen As Long
Dim WinTxt As String
WinTxtLen = SendMessage(Win_hwnd, WM_GETTEXTLENGTH, 0, 0)
WinTxtLen = WinTxtLen + 1
WinTxt = Space$(WinTxtLen)
WinTxtLen = SendMessage(Win_hwnd, WM_GETTEXT, WinTxtLen, ByVal WinTxt)
GetText = Left$(WinTxt, WinTxtLen)
End Function
此函数在win2000下,sendmessage函数不能够象win98一样的正常运行,既:不能够返回正确的值。总是返回空。请问是为什么????高手哥哥,给点指教哦。。
无论晴天也好雨天也好,我希望和你一起度过风笛~~~
Public Function GetText(Win_hwnd As Long) As String
Dim WinTxtLen As Long
Dim WinTxt As String
WinTxtLen = SendMessage(Win_hwnd, WM_GETTEXTLENGTH, 0, 0)
WinTxtLen = WinTxtLen + 1
WinTxt = Space$(WinTxtLen)
WinTxtLen = SendMessage(Win_hwnd, WM_GETTEXT, WinTxtLen, ByVal WinTxt)
GetText = Left$(WinTxt, WinTxtLen)
End Function
此函数在win2000下,sendmessage函数不能够象win98一样的正常运行,既:不能够返回正确的值。总是返回空。请问是为什么????高手哥哥,给点指教哦。。
无论晴天也好雨天也好,我希望和你一起度过风笛~~~
模块代码如下:
Option Explicit
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const WM_GETTEXTLENGTH = &HE
Public Const WM_GETTEXT = &HDPublic Function GetText(Win_hwnd As Long) As String
Dim WinTxtLen As Long
Dim WinTxt As String
WinTxtLen = SendMessage(Win_hwnd, WM_GETTEXTLENGTH, 0, 0)
WinTxtLen = WinTxtLen + 1
WinTxt = Space$(WinTxtLen)
WinTxtLen = SendMessage(Win_hwnd, WM_GETTEXT, WinTxtLen, ByVal WinTxt)
GetText = Left$(WinTxt, WinTxtLen)
End Function
然后测试了
MsgBox GetText(Text1.hwnd)
MsgBox GetText(Me.hwnd)