uses Shellapi var d: dword; d:=getlogicaldrives; for i:=0 to 25 do begin if ((d shr i) and 1=1) then begin sd:=chr(i+ord('A')); s:=s+sd+'--'; if GetDriveType(pchar(sd+':\'))=5 then shellexecute(handle, 'open', pchar(sd+':\'), nil, nil, SW_SHOW); end; end;
Shellapishellexecute(handle, 'open', '光驱盘符', nil, nil, SW_SHOW);
你看一下是不是这个效果
Linux2001(我想买手提电脑啊!) 做法不可取.
var d: dword;
d:=getlogicaldrives;
for i:=0 to 25 do begin
if ((d shr i) and 1=1) then begin
sd:=chr(i+ord('A'));
s:=s+sd+'--';
if GetDriveType(pchar(sd+':\'))=5 then
shellexecute(handle, 'open', pchar(sd+':\'), nil, nil, SW_SHOW);
end;
end;
/*UINT GetDriveType(LPCTSTR lpRootPathName)//指向根目录的字符串
此函数需要输入的参数就是要检测的盘符的根目录,返回值是0~6之间的数值
0--未知盘 1--不存在 2--可移动磁盘 3--固定磁盘 4--网络磁盘
5--CD-ROM 6--内存虚拟盘 */
AnsiString CheckCDROM() //获得CD-ROM盘符
{UINT DiskType; char DiskName; AnsiString ReturnValue;
for(DiskName='C';DiskName<='Z';DiskName++)
{//获得磁盘类型
DiskType=GetDriveType((AnsiString(DiskName)+AnsiString(":")).c_str());
if(DiskType==5)
ReturnValue=AnsiString(DiskName)+AnsiString(":");
//else
// ReturnValue="该电脑内无光驱或光驱未正确安装";
}
return(ReturnValue);
}
//-------------------------------------------------自己修改一下C++Builder程序!