我有一个基于Windows对话框的项目,由VS 2013自动生成。现在我想添加代码来检测USB设备插入。我读了代码示例refer 1。这是一个窗口过程可以处理消息。我也知道我必须将此WinProc与WNDCLASS对象相关联并调用RegisterClass,如示例代码refer 2。
但是,VS 2013生成的代码似乎并非如此。例如,我找不到类似于引用2的WinMain。它从全局CWinApp :: MyApp对象开始,在MyApp :: InitInstance()中创建并打开我的主对话窗口。我在对话框实现中实现了细节。
我不知道如何将Window Procedure与我的主对话框关联起来。或者,当USB插入引用1中的Main_OnDeviceChange(HWND hwnd,WPARAM wParam,LPARAM lParam)时,如何在主对话框中自动调用。
我在主对话框类中找到了2个步骤的解决方案。
OnDeviceChange是默认名称。如果更改名称,则无法运行。
我无法访问示例的链接,但我从您的问题中了解到,当您的应用程序是基于MFC对话框的应用程序时,示例是使用Windows APIS编写的。
我认为你只需要覆盖Dialog类中的WindowProc方法
LRESULT WindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
return CWnd::WindowProc(uMsg, wParam, lParam);
}