如题,我现在的做法是首先用createthread创建一个handle 然后传进waveInOpen里, 但是这个线程里接收不到MM_WIM_这些消息, 直接在GetMessage里阻塞了, 而我用PostThreadMessage它是接的到的.
那个线程里是这样接消息的:
PeekMessage(&msg, NULL,0,0,PM_REMOVE); while(GetMessage(&msg,NULL,0,0))
{
switch(msg.message)
{
case MM_WIM_OPEN:
...
break;
}
btw 有没有waveInOpen用CALLBACK_THREAD的例子啊
那个线程里是这样接消息的:
PeekMessage(&msg, NULL,0,0,PM_REMOVE); while(GetMessage(&msg,NULL,0,0))
{
switch(msg.message)
{
case MM_WIM_OPEN:
...
break;
}
btw 有没有waveInOpen用CALLBACK_THREAD的例子啊
解决方案 »
- 为什么在MFC的编辑框中显示字符串的时候得按一下键盘才会显示
- Jeffrey Richter的API HOOK示例LastMsgBoxInfo运行后ie启动报错
- CFormView以模态对话框显示
- 读txt文件的问题
- =====vc编译器各选项含义及说明(值得收藏)========
- 在winsock api 编程中如何引入WINSOCK 库(ws_32.lib或ws2_32.lib)!
- Active X 如何接受到方向按键的消息
- 哪位前辈赐教“用asp如何实现在不同的分辨率下跳转至不同的页面”
- 高分求解:在程序中获得某条指令长度的最简方法
- 很菜的问题,小弟用winsdk编了一个对话框,希望能在静态控件文本上显示时间,可是不行(符源码望执教)!!!!
- ResumeThread失败,返回值-1,程序一直等待
- hook启动exe的行为
{
MSG msg; if ( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ))
{
if ( WIM_DATA == msg.message )
{
WAVEHDR* pwh = ( WAVEHDR* )msg.lParam; // do something...
waveInPrepareHeader( m_hWavIn, pwh, sizeof( WAVEHDR )); waveInAddBuffer( m_hWavIn, pwh, sizeof( WAVEHDR ));
}
} Sleep( 10 );
}