نحوه تعریف تابع:
کد:
Private Declare Function GetWindowsDirectoryA Lib "kernel32" (ByVal lpBuffer As String, ByVal nSize As Long) As Longتوضیح آرگومان ها:
آرگومان اول این تابع همانطور که از نامش پیداس بافری هست که قراره آدرس درش ذخیره بشه. در اینجور مواقع که نیاز به تعریف بافر داریم. اینطوری برای خودمون می تونیم یک بافر با طول دلخواه تعریف کنیم:
کد:
Dim S As String
S = String(200, Chr(0))بافری با نام S و طول 200 و محتوای آن خالی کاراکتری با کد 0 است را تعریف کردیم.
آرگومان دوم طول و یا اندازه بافر هست.
و خروجی تابع ("C:\Windows") در داخل S قرار می گیرد.
مثال:
کد:
Private Declare Function GetWindowsDirectoryA Lib "kernel32" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Sub Form_Load()
Dim S As String
S = String(200, Chr(0))
GetWindowsDirectoryA S, Len(S)
MsgBox S
End Subراستی برای بدست آوردن نام فولدر ویندوز می تونیم از این دستور هم استفاده کنیم:
کد:
MsgBox Environ("windir")خروجی این دستور هم دقیقاً مشابه کد قبلی ست.
منبع : xxx barnamenevis.org