在本文中通过GetLogicalDriveStrings函数,获取到“逻辑磁盘驱动根路径字串”
然后我们再把返回的缓冲区中的值进行处理、
函数示意:
GetLogicalDriveStrings 取逻辑磁盘驱动根路径字串
成功返回“逻辑磁盘驱动根路径字串”大小、否则返回缺省值0
nBufferLength 欲接收缓冲区尺寸
lpBuffer 欲接收缓冲区指针
示例代码:
Imports System.Runtime.InteropServices Imports System.Text.RegularExpressions Module MainModule Public Declare Function GetLogicalDriveStrings Lib "kernel32.dll" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Integer,ByVal lpBuffer As String) As Integer Sub Main() Console.Title = "取磁盘驱动器列表" Dim len As Integer = GetLogicalDriveStrings(0,Nothing) If (len <= 0) Then Throw New Exception("Unable to get buffer length.") End If Dim buffer As String = Space(len) If (GetLogicalDriveStrings(len,buffer) <= 0) Then Throw New Exception("Unable to get the list of disks.") End If Dim matchs = Regex.Matches(buffer,"[A-Z|a-z]+\:\\") For Each match As Match In matchs Console.WriteLine(match.Value) Next Console.ReadKey(False) End Sub End Module