گفتم بهتره مطالب در سطح پایینترم برای دوستانی که در ابتدای برنامه نویسی هست بزارم.

كدي كه شايد خيلي از شما دوستان دنبالش هستيد و من خودمم خيلي وقت بود كه دنبالش ميگشتم، بدست آوردن آدرس بار در My Computer هست يعني كارير داخل هر درايو و يا پوشه اي كه ميشه، برنامه ما متوجه اون مسير بشه. من اين برنامه رو از سايت برنامه نويس گرفتم كه يكي از دوستان ارجمند سايت زحمتش رو كشيده بودن و چون ديدم خيلي به درد بخور و كاربرديه براي استفاده گذاشتمش تو وبلاگ. اميدوارم كه استفاده مفيدي ازش بكنيد (براي نوشتن ويروس ازش استفاده نكنيد).


يك پروژه جديد باز كنيد و يك TextBox و يك تايمر به فرمتون اضافه كنيد. Interval تايمر رو 1 قرار بديد. كد زير رو تو قسمت جنرال فرمتون كپي كنيد:


Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Const WM_GETTEXT = &HD
Dim Address As String

Private Sub Timer1_Timer()
On Error Resume Next
 Dim Hwnd As Long
 Dim i As Integer
 Hwnd = FindWindow("CabinetWClass", vbNullString)
   If Hwnd <> 0 Then
     Hwnd = FindWindowEx(Hwnd, 0, "WorkerW", vbNullString)
     Hwnd = FindWindowEx(Hwnd, 0, "ReBarWindow32", vbNullString)
     Hwnd = FindWindowEx(Hwnd, 0, "ComboBoxEx32", vbNullString)
    Dim r As Long
    Dim s As String
    s = String(201, Chr(0))
    r = SendMessageByString(Hwnd, WM_GETTEXT, 200, s)
    If Left(s, r) = "My Computer" Then Exit Sub
    Address = Left(s, r)
  End If
  Text1.Text = Address
End Sub

حالا برنامتون رو اجرا كنيد و وارد يكي از پوشه هاتون بشيد بعد برنامه رو چك كنيد، ميبينيد كه مسير فعال رو نشون ميده. موفق باشيد.

منبع:برنامه نویس