2793.html
来自「以电子书的形式收集了VB一些常见问题解决方法,可以很方便的查找自己需要解决的问题」· HTML 代码 · 共 22 行
HTML
22 行
<html>
<head>
<title>Re: 如何寻找光碟机所在路径?</title>
</head>
<BODY BACKGROUND="" BGCOLOR="white" TEXT="black" LINK="red" VLINK="#808080" ALINK="">
<center>
<h1>Re: 如何寻找光碟机所在路径?</h1>
</center>
<HR><p>
Posted by <a href="mailto:ml.peng@wsmc.com.tw">彭明柳</a> on May 09, 1998 at 21:46:30:<p>
In Reply to: <a href="2791.html"><b>如何寻找光碟机所在路径?</b></a> posted by snow on May 09, 1998 at 09:52:17:<p>
: 我想要写一个能读取光碟图档的程式..<br>: 因为光碟巢不确定..可能是D: OR E:等..<br>: 要如何侦测...程式该如何写....??<p>: 谢谢帮忙... SNOW<br>使用API:<p>Public Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" _<br> (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long<p>Public Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" _<br> (ByVal nDrive As String) As Long<br>Public Const DRIVE_CDROM = 5<p>'在表单上插入一个命令按钮(cmdCDInfo)<br>'在表单上插入一个Label (lblCDROM)<br>private cmdCDInfo_click()<br> '取得所有drives的资讯<br> Dim r As Long<br> Dim DriveType As Long<br> Dim allDrives As String<br> Dim JustOneDrive As String<br> Dim CDLabel As String<br> Dim pos As Integer<br> Dim CDfound As Boolean<br> allDrives$ = Space$(64)<br> '以api取得所有的磁碟<br> r& = GetLogicalDriveStrings(Len(allDrives$), allDrives$)<br> '字串处理<br> allDrives$ = Left$(allDrives$, r&)<br> Do<br> pos% = InStr(allDrives$, Chr$(0))<br> If pos% Then<br> JustOneDrive$ = Left$(allDrives$, pos% - 1)<br> allDrives$ = Mid$(allDrives$, pos% + 1, Len(allDrives$))<br> '以api取得让drive的type <br> DriveType& = GetDriveType(JustOneDrive$)<br> If DriveType& = DRIVE_CDROM Then<br> CDfound = True<br> CDLabel$ = rgbGetVolumeLabel(JustOneDrive$)<br> Exit Do<br> End If<br> End If<br> Loop Until allDrives$ = "" Or DriveType& = DRIVE_CDROM<p> If CDfound Then<br> lblCDROM = "The CD ROM drive on your system is drive " & UCase$(JustOneDrive$) & vbCrLf<br> lblCDROM = lblCDROM & "The volume label is " & CDLabel$<br> Else: lblCDROM = "No CD ROM drives were detected on your system."<br> End If<br>End Sub<p><br>Private Function rgbGetVolumeLabel(CDPath$) As String<br> Dim r As Long<br> Dim DrvVolumeName As String<br> Dim pos As Integer<br> Dim UnusedVal1 As Long<br> Dim UnusedVal2 As Long<br> Dim UnusedVal3 As Long<br> Dim UnusedStr As String<br> <br> DrvVolumeName$ = Space$(14)<br> UnusedStr$ = Space$(32)<br> r& = GetVolumeInformation(CDPath$, _<br> DrvVolumeName$, _<br> Len(DrvVolumeName$), _<br> UnusedVal1&, UnusedVal2&, _<br> UnusedVal3&, _<br> UnusedStr$, Len(UnusedStr$))<br> If r& = 0 Then Exit Function<br> pos% = InStr(DrvVolumeName$, Chr$(0))<br> If pos% Then DrvVolumeName$ = Left$(DrvVolumeName$, pos% - 1)<br> If Len(Trim$(DrvVolumeName$)) = 0 Then DrvVolumeName$ = "(no label)"<br> <br> rgbGetVolumeLabel = DrvVolumeName$<br>End Function<br>
<br>
<p>
<a name="followups">Follow Ups:</a><br>
<ul><!--insert: 2793-->
</ul><!--end: 2793-->
<br><HR><p>
</body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?