首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB调用SendMessage导致程序崩溃

2012-09-29 
求助:VB调用SendMessage导致程序崩溃我想用SendMessage跨进程获取文本框中的文字,之前我已经获得了正确的

求助:VB调用SendMessage导致程序崩溃
我想用SendMessage跨进程获取文本框中的文字,之前我已经获得了正确的句柄。
源代码:

VB code
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongConst WM_GetText As Long = 13Public Function subSendMyMsg(lngHwnd As Long) As String    On Error Resume Next1    Dim strWord As String2    strWord = String(255, Chr(0))3    Call SendMessage(lngHwnd, WM_GetText, 255, strWord)4    subSendMyMsg = Left(strWord, InStr(1, strWord, Chr(0)) - 1)End Function

其中lngHwnd为传入的句柄,WM_GetText已定义为13。
当程序运行到第4行时,如果是IDE调试则系统崩溃,如果是EXE则程序会崩溃退出。
求大家帮忙解决,谢谢!

[解决办法]
首先将你的On Error Resume Next 语句改为On Error GoTo 语句,再使用GetLastError捕获一下错误看看是什么错误?
[解决办法]
第三句修改为
VB code
Call SendMessage(lngHwnd, WM_GetText, 255, Byval strWord)
[解决办法]
http://bbs.bccn.net/thread-309935-1-9.html

热点排行