delphi 取U盘盘符代码
我在网上找到了这段代码,但却编译不到,为什么?===========================================//取U盘盘符代码==========...
我在网上找到了这段代码,但却编译不到,为什么?
===========================================
// 取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; 展开
===========================================
// 取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; 展开
展开全部
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
x:integer;
i:char;
begin
for i:='B' to 'Z' do //因为A盘是3.5英寸软件 也算是可移动的 ,所以先排除在外
begin
s:=i+':\';
x := GetDriveType(pansichar(s));//得到盘的类型
if x=2 then
begin
showmessage(i+' 盘是可移动磁盘');
end;
end;
//从B到Z 进行测试,如果是U盘就输出,因为可能有很多u盘 所以并没有在找到第一个就进行跳出
end;
end.
我的做法就是测试所有的A:\ B:\ C:\
测试通过 请在能用之后 给我加分啊 谢谢 我花了1个多小时才搞出来的 查很多资料,然后自己又写。
所查资料:该资料来自葵花宝典
当要知道所选的驱动器属于什么类型时,请看下面的程序
var x:integer;
driver:pchar;
begin
driver:='f:\';
x := GetDriveType(driver);
Case x of
2: Label1.Caption := '该驱动器是可移动驱动器';
3: Label1.Caption := '该驱动器是固定驱动器';
4: Label1.Caption := '该驱动器是网络驱动器';
5: Label1.Caption := '该驱动器是CD-ROM驱动器';
6: Label1.Caption := '该驱动器是虚拟驱动器';
Else Label1.Caption := '该驱动器无效';
End;
end;
var s:string;
x:integer;
i:char;
begin
for i:='B' to 'Z' do //因为A盘是3.5英寸软件 也算是可移动的 ,所以先排除在外
begin
s:=i+':\';
x := GetDriveType(pansichar(s));//得到盘的类型
if x=2 then
begin
showmessage(i+' 盘是可移动磁盘');
end;
end;
//从B到Z 进行测试,如果是U盘就输出,因为可能有很多u盘 所以并没有在找到第一个就进行跳出
end;
end.
我的做法就是测试所有的A:\ B:\ C:\
测试通过 请在能用之后 给我加分啊 谢谢 我花了1个多小时才搞出来的 查很多资料,然后自己又写。
所查资料:该资料来自葵花宝典
当要知道所选的驱动器属于什么类型时,请看下面的程序
var x:integer;
driver:pchar;
begin
driver:='f:\';
x := GetDriveType(driver);
Case x of
2: Label1.Caption := '该驱动器是可移动驱动器';
3: Label1.Caption := '该驱动器是固定驱动器';
4: Label1.Caption := '该驱动器是网络驱动器';
5: Label1.Caption := '该驱动器是CD-ROM驱动器';
6: Label1.Caption := '该驱动器是虚拟驱动器';
Else Label1.Caption := '该驱动器无效';
End;
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询