Delphi自動檢測U盤插入 拔出及獲取U盤碟符

2021-08-27 02:38:26 字數 1853 閱讀 8114

unit unit1;

inte***ce

uses

windows, messages, sysutils, variants, classes, graphics, controls, forms,

type

tform1 = class(tform)

procedure button1click(sender: tobject);

private

procedure wmdevicechange(var msg: tmessage); message wm_devicechange;

public

end;

var form1: tform1;

implementation

procedure tform1.wmdevicechange (var msg: tmessage);

var mymsg : string;

begin

case msg.wparam of

32768:

begin

mymsg :='u盤插入';

messagebox(0,'注意!u盤已插入!!!','autocopy information',mb_iconasterisk and mb_iconinformation);

end;

32772:

begin

mymsg :='u盤拔出';

messagebox(0,'注意!u盤已取走!!!','autocopy information',mb_iconasterisk and mb_iconinformation);

end;

end;

end;

****************************************===

// 取u盤碟符**

使用delphi程式實現u盤碟符的獲取其實不是很難,不過對於新手來說可能有點困難,把**貼出來,供大家學習

****************************************====

procedure tform1.button1click(sender: tobject);

var

buf:array [0..max_path-1] of char;

m_result:integer;

i:integer;

str_temp:string;

begin

m_result:=getlogicaldrivestrings(max_path,buf);

for i:=0 to (m_result div 4) do

begin

str_temp:=string(buf[i*4]+buf[i*4+1]+buf[i*4+2]);

if getdrivetype(pchar(str_temp)) = drive_removable then

begin

showmessage(str_temp+'盤為u盤');

listbox1.items.add(str_temp);

end;

end;

end;

****************************************=//磁碟型別常量參考

drive_unknown = 0;

drive_no_root_dir = 1;

drive_removable = 2;

drive_fixed = 3;

drive_remote = 4;

drive_cdrom = 5;

drive_ramdisk = 6;

shell自動檢測

列印選單,讓使用者選擇,並根據選擇執行操作 如果使用者選擇的是a,顯示cpu資訊 如果使用者選擇的是b,顯示記憶體資訊 如果使用者選擇的是c,執行緒磁碟資訊 如果使用者選擇的是d,顯示網路io資訊 使用者使用者選擇的是e,退出系統 如果使用者選擇成其他選擇,提示輸入錯誤,讓使用者重新選擇 bin b...

spring 自動檢測bean

當在spring配置中增加時,我們希望spring特殊對待我們所定義的bean裡的某一組註解,並使用這些註解指導bean裝配。即使有助於完全消除spring配置中的和元素,我們仍需要使用元素顯示定義bean。但是spring還有另一種技巧。元素除了完成與一樣的工作,還允許spring自動檢測bean...

解除硬碟自動檢測

如果你的電腦不管是正常關機還是非正常關機,啟動時都自動掃瞄檢測硬碟的某個分割槽,說明硬碟出現了問題,可以使用修復軟體進行一下修復。如果硬碟沒有問題,可以考慮關閉硬碟的自動掃瞄檢測。方法有二 1 color darkred 開始 color color darkred 執行 color 輸入 colo...