تبلیغات
ویژوال بیسیك 6 - باز گرداندن تمام پارتیشنهای درایو
شنبه 2 آبان 1388

باز گرداندن تمام پارتیشنهای درایو

   نوشته شده توسط: شهرام    نوع مطلب :ویژوال بیسیك و Windows API ،

GetLogicalDriveStrings

Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

این تابع نیز تمام پارتیشنها و درایوهای موجود برروی سیستم را برمی گرداند.
nBufferLength: طول بافر اختصاص داده شده برای پارتیشن ها و درایوها می باشد . توجه داشته باشید كه این مقدار باید به اندازه كافی باشد.

Lpbuffer: نام بافر اختصاص داده شده می باشد كه طول ان نیز باید به اندازه كافی باشد.

مثال:

Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

Private Sub Form_Load()
  Dim Buffer As String
 
  Me.AutoRedraw = True
  Buffer = String(255, 0)
  GetLogicalDriveStrings 255, Buffer
  For hh = 1 To 100
    If Left$(Buffer, InStr(1, Buffer, Chr$(0))) = Chr$(0) Then Exit For
    Me.Print Left$(Buffer, InStr(1, Buffer, Chr$(0)) - 1)
    Buffer = Right$(Buffer, Len(Buffer) - InStr(1, Buffer, Chr$(0)))
  Next hh
End Sub