已经知某控件的句柄,要取出其文本,一运行到Sendmessage语句程序就崩溃了.请问错在那里?
代码如下:Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As String) As Long
Public Const WM_GETTEXT = &HDPublic Function GetWinText(ByVal Hnd As Long) As String
Dim Buf As String
Dim Ln As Long
Buf = String(255, Chr(0))
Ln = SendMessage(Hnd, WM_GETTEXT, 255, Buf) '在该句崩溃
...
代码如下:Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As String) As Long
Public Const WM_GETTEXT = &HDPublic Function GetWinText(ByVal Hnd As Long) As String
Dim Buf As String
Dim Ln As Long
Buf = String(255, Chr(0))
Ln = SendMessage(Hnd, WM_GETTEXT, 255, Buf) '在该句崩溃
...
Buf = String(255, Chr(0))
换成
Buf = String(255, 0)
试试
Ln = SendMessage(Hnd, WM_GETTEXT, 255, Byval Buf)
又发错!应该是这样:
Ln = SendMessage(Hnd, WM_GETTEXT, 255, Byval Buf)