m75an86
چهارشنبه 14 دی 1390, 10:09 صبح
با سلام و تشکر از دوستان برنامه نویس که همیشه راهنماییهاشون برام کارساز بوده
من داخل برنامه ام میخوام مسیر نصب winrar رو بدونم تا از طریق shell یه سری فایلها رو rar کنم و مسیر آنرا تو رجیستری پیدا کردم و از طریق سرچ تو همین سایت متوجه شدم که باید این کدها رو برای بدست آوردن مسیر بکارببرم ولی در زمان اجرا error میده و کلا vb رو میبنده. کدهایی که استفاده میکنم اینها هستد:
]
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Const HKEY_CLASSES_ROOT = &H80000000
private sub fidpath()
Dim RetVal As Long, hKey As Long, Length As Long
Dim Buffer, retvals As String
RetVal = RegOpenKey(HKEY_CLASSES_ROOT, "Applications\WinRAR.exe\shell\open\command", hKey)
If RetVal = 0 Then 'Key Is Open
Buffer = Space(255)
Length = 255
RegQueryValueEx hKey, "Path", 0, REG_SZ, ByVal Buffer, Length
MsgBox Buffer
End If
RegCloseKey (hKey)
End sub
[/LTR_INLINE]
من داخل برنامه ام میخوام مسیر نصب winrar رو بدونم تا از طریق shell یه سری فایلها رو rar کنم و مسیر آنرا تو رجیستری پیدا کردم و از طریق سرچ تو همین سایت متوجه شدم که باید این کدها رو برای بدست آوردن مسیر بکارببرم ولی در زمان اجرا error میده و کلا vb رو میبنده. کدهایی که استفاده میکنم اینها هستد:
]
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Const HKEY_CLASSES_ROOT = &H80000000
private sub fidpath()
Dim RetVal As Long, hKey As Long, Length As Long
Dim Buffer, retvals As String
RetVal = RegOpenKey(HKEY_CLASSES_ROOT, "Applications\WinRAR.exe\shell\open\command", hKey)
If RetVal = 0 Then 'Key Is Open
Buffer = Space(255)
Length = 255
RegQueryValueEx hKey, "Path", 0, REG_SZ, ByVal Buffer, Length
MsgBox Buffer
End If
RegCloseKey (hKey)
End sub
[/LTR_INLINE]