如何取得虚拟光区盘符号(100分)

  • 主题发起人 主题发起人 agangr
  • 开始时间 开始时间
A

agangr

Unregistered / Unconfirmed
GUEST, unregistred user!
在win9.x下可以通过读取CurrentDriveLetterAssignment来获得虚拟光区盘符信息,但
我发现在win nt/2000下却没有CurrentDriveLetterAssignment这一项,该如何获取?


[HKEY_LOCAL_MACHINE/Enum/ESDI/FARSTONEVIRTUALDRIVE____0/ROOT&ADAPTER&010000]
"Capabilities"=hex:14,00,00,00
"RevisionLevel"="0100"
"ProductId"="VirtualDrive "
"Manufacturer"="FarStone"
"DeviceType"=hex:05
"Removable"=hex:01
"CurrentDriveLetterAssignment"="E" //这一行
"HardwareID"="FARSTONEVIRTUALDRIVE____0,GenCD,ESDI//FARSTONEVIRTUALDRIVE____0"
"Class"="CDROM"
"ClassGUID"="{4d36e965-e325-11ce-bfc1-08002be10318}"
"Driver"="CDROM//0000"
"Mfg"="(标准的 CD-ROM 设备)"
"DeviceDesc"="FarStone VirtualDrive "
"ConfigFlags"=hex:00,00,00,00
"UserDriveLetterAssignment"="EE"
"AutoInsertNotification"=hex:00
 
"UserDriveLetterAssignment"="EE"
"Capabilities"=hex:14,00,00,00(14不就是hex 的E吗?)
以上是我猜的,你可以比较一下真假光驱的不同。
 
请继续或结束
 
var
driver:string;
dtype:integer;
begin
for i:=65 to 90 do
begin
driver:=chr(i)+':/';
dtype:=getdrivetype(pchar(driver));
case dtype of
2:label1.caption:='可移动驱动器';
3:label1.caption:='固定驱动器';
4:label1.caption:='网络驱动器';
5:label1.caption:='cdrom';
6:label1.caption:='虚拟驱动器';
end;
end;
 
请继续或结束
 
该问题也解决
 
接受答案了.
 
后退
顶部