插入U盘怎样获取U盘盘符?
插入U盘怎样获取U盘盘符? 问题点数:100、回复次数:5Top
1 楼ssq237712(流亡帅哥)回复于 2005-11-01 09:44:16 得分 10
我想也只有遍历盘符,然后判断盘类型来得到吧。以前找光驱盘就是这样子做的,不知道有没有更简单的方法Top
2 楼misszhi(努力拼搏)回复于 2005-11-01 09:48:30 得分 0
to ssq237712(流亡帅哥),能给个例子吗?Top
3 楼fishmans(金脚指)回复于 2005-11-01 09:48:35 得分 40
for i:='D' to 'Z' do
if getdrivetype(Pchar(i+":"))=DRIVE_REMOVABLE then
showmessage(I+'盘为U盘');
'=========================================
DRIVE_UNKNOWN = 0;
{$EXTERNALSYM DRIVE_UNKNOWN}
DRIVE_NO_ROOT_DIR = 1;
{$EXTERNALSYM DRIVE_NO_ROOT_DIR}
DRIVE_REMOVABLE = 2;
{$EXTERNALSYM DRIVE_REMOVABLE}
DRIVE_FIXED = 3;
{$EXTERNALSYM DRIVE_FIXED}
DRIVE_REMOTE = 4;
{$EXTERNALSYM DRIVE_REMOTE}
DRIVE_CDROM = 5;
{$EXTERNALSYM DRIVE_CDROM}
DRIVE_RAMDISK = 6;Top
4 楼xixuemao(钱不是问题,问题是没钱)回复于 2005-11-01 09:56:56 得分 40
列出全部磁盘盘符:
procedure TForm1.FormCreate(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]);
ListBox1.Items.Add(str_temp);
end;
end;Top
5 楼ly_liuyang(Liu Yang LYSoft http://lysoft.7u7.net)回复于 2005-11-01 09:59:01 得分 10
Shell注册事件通知,然后DeviceIoControl判断,就能知道是不是U盘的
_____________________
http://lysoft.7u7.netTop




