还有怎么获得驱动器的扩展名 getextersionname
解决方案 »
- DBgrid控件,怎么能控制前两列在托动下面的滚动条的时候只动后面的,不动前两列
- 如何在stringgrid里画一个tcombobox,并且使他可以选择?下面的语句还少什么
- 选择符合要求记录问题
- TString&TStringList区别!
- MSSQL存储过程的问题
- 如果做一个软件,要分几个模块来开发,一个人做一个模块。这样的话,用什么方法做比较好?最后怎样把不同的人做的模块集合起来?软件公司
- listview控件,我添加的节点,可以使他的visiable为看不见吗?我不想删除它.好像没有这个属性,有什么办法吗?
- ?在类的定义中,如何声明一个私有指针,并定义返回指针的函数?
- 关于InstallShield Professional Edition 6.22使用
- 悟透delphi——》》》
- 救命,客户的数据库被我干掉了,怎么恢复?
- 请教一个问题,为什么一个程序在一台机器上是正常的,在另一台机器上频繁报文件读写错误?
var
i: integer;
s: string;
begin
for i := 65 to 91 do
begin
s := char(i) + ':';
case GetDriveType(PChar(s)) of
DRIVE_REMOVABLE: ComboBox1.Items.Add(Char(i) + ':软驱');
DRIVE_FIXED: ComboBox1.Items.Add(Char(i) + ':硬盘');
DRIVE_CDROM: ComboBox1.Items.Add(char(i) + ':光驱');
end;
end;
end
要是这样的话,filesystemobject.getdrivename
filesystemobject.getextersionname 就可以拉
var
s:string;
SerialNum : pdword;
a, b : dword;
Buffer : array [0..255] of char;
begin
new(serialnum);
if GetVolumeInformation(PChar('c:\'), Buffer, SizeOf(Buffer), SerialNum,
a,b,nil, 0) then
s := IntToStr(SerialNum^);
showmessage(s+':'+string(buffer));
dispose(serialnum);
end;
var
VolumeSerialNumber : DWORD;
MaximumComponentLength : DWORD;
FileSystemFlags : DWORD;
begin
if Drv[Length(Drv)] =':' then Drv := Drv + '\';
GetVolumeInformation(pChar(Drv),nil,0,@VolumeSerialNumber,MaximumComponentLength,nil,SystemFlags,0);
Result := IntToHex(HiWord(VolumeSerialNumber),4) +'-' +IntToHex(LoWord(VolumeSerialNumber),4);
end;