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

vb钩子过程中使用sendmessage之后自动退出,该如何处理

2012-01-28 
vb钩子过程中使用sendmessage之后自动退出Public Function MyKBHFunc(ByVal iCode As Long, ByVal wParam

vb钩子过程中使用sendmessage之后自动退出
Public Function MyKBHFunc(ByVal iCode As Long, ByVal wParam As Long, lparam As KBDLLHOOKSTRUCT) As Long
Dim TempA As String
MyKBHFunc = 0
If iCode < 0 Then
MyKBHFunc = CallNextHookEx(hNextHookProc, iCode, wParam, lparam)
Exit Function
End If
Debug.Print lparam.vkCode
’当按下回车键时抓取句柄为hwndarry_text的内容,hwndarry_text为指定的text框句柄
If lparam.vkCode = 13 Then
'当我加入下面*框内的代码时就vb就直接退出了,根本就不执行,有高手指点吗
'****************************************
sSave = Space$(10)
 Call SendMessage(hwndarry_text, WM_GETTEXT, 10, ByVal sSave)
TempA = trim(sSave)
'**************************************
'MyKBHFunc = 1 '如果为1吃掉消息
Debug.Print TempA

Call CallNextHookEx(hNextHookProc, iCode, wParam, lparam)

Else
Call CallNextHookEx(hNextHookProc, iCode, wParam, lparam)
End If

End Function

[解决办法]
SendMessage必须等待消息处理完后才能返回,改成postmessage试下。
另外,回调函数中尽量少做事情,与界面直接有关的更不要做。

热点排行