API函数mciSendString的最后一个参数hwndCallback到底怎么用?

himhim 2000-06-21 08:28:00
本人在VB公共模块中定义了一个函数如下:
Public Function MciCallBack(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Msgbox “Called back!"
End Function
然后使用API函数这样调用
lngRet = mciSendString(strCmd & " notify", strInfo, 256, AddressOf MciCallBack)
程序可以正常运行,但为什么总是没有“Called back!”的对话框出现?仿佛它根本就没被回调过一样。不知哪位高手肯指点一二?
...全文
140 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Un1 2000-06-22
  • 打赏
  • 举报
回复
mciSendString 的最后一个参数是 window 的 hwnd 不是地址。如果你写为:

private sub Command1_Click()
lngRet = mciSendString(strCmd & " notify", strInfo, 256, hWnd)
end sub

这时再用spy去看看就可以看到你的窗口收到事件,不过在VB中如果要拦截此事件,你需要在写一个winproc去hook,或者使用spywork一类的控件去处理。
Larky 2000-06-21
  • 打赏
  • 举报
回复
hwndCallback
Handle of a callback window if the "notify" flag was specified in the command string.

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧