检测USB插入拔出
heton 2002-09-02 01:47:56 我写了段代码:
// CheckUsb.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
HWND hwndMain;
LRESULT CALLBACK WndProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
switch(uMsg)
{
case WM_CREATE:
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_COMMAND:
break;
case WM_DEVICECHANGE:
MessageBox(NULL,"设备改变","提示",MB_OK);
break;
}
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
WNDCLASSEX wclass;
MSG msg;
wclass.cbClsExtra = 0;
wclass.cbSize = sizeof(WNDCLASSEX);
wclass.cbWndExtra = 0;
wclass.hbrBackground = (HBRUSH)GetStockObject(LTGRAY_BRUSH);
wclass.hCursor = NULL;
wclass.hIcon = NULL;
wclass.hIconSm = NULL;
wclass.hInstance = hInstance;
wclass.lpfnWndProc =(WNDPROC)WndProc;
wclass.lpszClassName = "CheckUSB";
wclass.lpszMenuName = NULL;
wclass.style = CS_DBLCLKS;
if(!RegisterClassEx(&wclass))
{
MessageBox(NULL,"类创建失败","类创建失败",MB_OK);
}
hwndMain = CreateWindow("CheckUSB","检测USB设备",
WS_OVERLAPPED | WS_SYSMENU | WS_MINIMIZEBOX | WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, 320, 300,NULL, NULL, hInstance, NULL);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg); //translate the message into its char equivelent
DispatchMessage(&msg);
}
return msg.wParam;
}
如何在WM_DEVICECHANGE消息处判断是不是USB插入或者拔出