。
版本2
。裝配窗裝配1
。匯編變量a,子程序指針
。子程序_ _開始窗口_已創建
A = setwindowlong (_啟動窗口。取窗口句柄()、-4、&;MsgProc)
。子程序MsgProc,整數類型
。參數hwnd,整數類型
參數消息,整數類型
參數wp,整數類型
參數lp,整數類型
。局部變量val,PDEV _廣播_音量。
。局部變量I,整型。
。局部變量掩碼,整數類型
。開始判斷(msg = 537)
。判斷開始(WP = # dbt _ devicerarrival)'插入設備。
復制結構(val,lp,14)
。如果為真(val . dbcv _ device type = # dbt _ dev typ _ volume)
mask = val.dbcv_unitmask
。可變循環頭(0,25,1,I)
如果為真(按位AND(掩碼,1) = 1)
跳出循環()
如果真的結束了。
Mask =向右移位(Mask,1)
。可變循環尾()
編輯框1。添加文本(“u盤已插入,驅動器號:“+字符(65+I)+#換行符”)。
檢測(字符(65+I))
如果真的結束了。
Judge (WP = # DBT _設備刪除完成)'刪除設備。
復制結構(val,lp,14)
。如果為真(val . dbcv _ device type = # dbt _ dev typ _ volume)
mask = val.dbcv_unitmask
。可變循環頭(0,25,1,I)
如果為真(按位AND(掩碼,1) = 1)
跳出循環()
如果真的結束了。
Mask =向右移位(Mask,1)
。可變循環尾()
編輯框1。添加文本(“u盤被拔掉,驅動器號:“+字符(65+I)+#換行符”)。
如果真的結束了。
。默認
審判結束
。默認
審判結束
Return(調用窗口過程(a,hwnd,msg,WP,LP))
子程序_ _ Start window _將被銷毀。
A = setwindowlong (_啟動窗口。取窗口句柄(),-4,a)。
子程序檢測
參數字母,文本類型
。局部變量fn,文本類型
Fn =查找文件(驅動器號+":\ *)。*",)
編輯框2。內容= " "
。判斷循環頭(fn≦);
編輯框2。添加文本(fn+#換行符)
Fn =查找文件(,)
。判斷循環的結束()
≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈ͬͬͬͬͬͬ8
。數據類型PDEV _廣播_音量
成員dbcv_size,整數類型,,,14。
。成員dbcv_devicetype,整數類型。
。成員dbcv_reserved,整數。
。成員dbcv_unitmask,整數類型。
。成員dbcv_flags,短整型。
。數據類型_開發_廣播_HDR
。成員dbch_size,整數。
。成員dbch_devicetype,整數類型。
。成員dbch_reserved,整數。
≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈ͬͬͬͬͬ
常量WM_DEVICECHANGE,“537”,驅動器盤符被更改。
。常量dbt _ deviceremovecommplete," 32772 "
。常量DBT _設備rar對手,“32768”
。常量DBT _開發類型_OEM," 0 "
。常量DBT _開發類型_開發節點," 1 "
。常量DBT _開發類型_體積," 2 "
。常量DBT _開發類型_端口," 3 "
。常數DBT _發展類型_N," 4 "