原文地址:http://www.cnblogs.com/AndyHai/archive/2007/07/25/830224.html有同學(xué)向我問這個(gè)問題,于是就Google了一下找到答案,不過是C下的,我將其改編成了C#的。
當(dāng)設(shè)備被插入/拔出的時(shí)候,WINDOWS會向每個(gè)窗體發(fā)送WM_DEVICECHANGE 消息,當(dāng)消息的wParam 值等于 DBT_DEVICEARRIVAL 時(shí),表示Media設(shè)備被插入并且已經(jīng)可用;如果wParam值等于DBT_DEVICEREMOVECOMPLETE,表示Media設(shè)備已經(jīng)被移出。
它們的lParam都指向一個(gè) DEV_BROADCAST_HDR結(jié)構(gòu)體,其原形如下: