有一个看似简单的问题:
1 while(1) 2 { 3 while(::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) 4 { 5 if (WM_QUIT == msg.message) 6 { 7 goto _quit; 8 } 9 10 ::TranslateMessage(&msg); 11 ::DispatchMessage(&msg); 12 } 13 if(g_bActive) 14 { 15 UiMain(); 16 }17 }
插拔SD卡,会产生消息WM_DEVICECHANGE,但是上面的组合是获取不到的,为什么呢?在不用GetMessage的情况下如何使上面的组合能获取到消息WM_DEVICECHANGE呢?
/////////////////////////////////2013/5/12//////////////////
不是获取不到,而是系统根本没发此消息上来;
注意检测SD卡中断IST的线程优先级。