if int status and(1 SHL I)& lt;& gt那麽0
form 1 . memo 1 . lines . add(CHR(65+I)+' disk ');建立壹個定時器,初始周期為0,設置為1秒1000 ms程序表單1。創建窗口後的check timer(sender:object);
定義變量
statustmp:整數;
開始
statustmp:= GetLogicalDrives;
如果statustmp=intstatus,則退出;
如果intstatus & gt那麽statustmp
Label1。標題:= '發現新設備'
其他
Label1。標題:= '設備已移除';
Label1。可見:=真;
check disk(int status-statustmp);
int status:= statustmp;結束;先獲取當前的分區狀態,然後判斷是否相等,再不做其他。如果它大於全局,則插入壹個新設備,如果它小於全局,則取出它,這是checkdisk(intstatus-statustmp)。如果簽名& lt0則符號:= 0-符號;//使他成為正數
對於i:=25下降到0做
如果符號和(1 SHL I)& lt;& gt那麽0
開始
form 1 . label 1 . caption:= form 1 . label 1 . caption+':'+char(65+I)+' disk ';
打破;
結束;分析哪個磁盤發生了變化,是插入還是拔出。