PDA

View Full Version : تشخیص وجود یک کی



xrezax
شنبه 13 اسفند 1390, 18:58 عصر
دوستان چطور تشخیص بدم که توی ریجستری یک کی وجود داره یا نداره؟؟؟
یعنی ساخته شده یا نشده

در این مسیر . می خوام ببینم که کی MyProgram ساخته شده یا نه. ممنون میشم سورس بزارید اگه API باشه عالی میشه

hkcu\Software\Microsoft\Windows\CurrentVersion\Run \MyProgram

hmrbadboy
شنبه 13 اسفند 1390, 21:12 عصر
سلام دوست عزیز
داخله این برنامه که گذاشتم کلی تابع API با توضیحات وجود داره که کارتو راه میندازه.
امیدوارم سوالت برطرف شه.

https://rapidshare.com/files/1290388969/Api_Setup__Persian_.zip

xrezax
یک شنبه 14 اسفند 1390, 09:38 صبح
این بکارم نمی یاد دوست من.
من می خوام یک خط دستور باشه که چک کنه که کی در مسیری که می خوام هست یا نه! همین

setroyd
یک شنبه 14 اسفند 1390, 11:01 صبح
Const HKEY_CURRENT_USER = &H80000001
Const KEY_ALL_ACCESS = &HF003F
Private Declare Function RegOpenKeyEx Lib _
"advapi32.dll" Alias "RegOpenKeyExA" (ByVal _
hKey As Long, ByVal lpSubKey As String, ByVal _
ulOptions As Long, ByVal samDesired As Long, _
phkResult As Long) As Long

Private Sub Command2_Click()

a = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\ali", _
0, KEY_ALL_ACCESS, hKey)
If a = 0 Then MsgBox "key peyda shod" Else MsgBox "key peyda nashod"

End Sub
تشخیص بودن یا نبودن کلید

setroyd
یک شنبه 14 اسفند 1390, 11:03 صبح
شما خودت پارامترهارو جایگزین کن بسته به نیاز خودت

Const HKEY_CURRENT_USER = &H80000001
Const HKEY_CLASSES_ROOT = &H80000000
Const HKEY_DYN_DATA = &H80000006
Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_USERS = &H80000003

quiet_programmer
یک شنبه 14 اسفند 1390, 11:22 صبح
با سلام.

برای اینکه میخوای تو یه خط کد این رو برسی کنی باید از کامپوننت مربوط به دستکاری ریجستری استفاده کنی. من فایل ocx رو برات میزارم. یه نمونه کد هم از کاری که میخوای انجام بدی میزارم. ولی یه توصیه این کامپوننت برای دستکاری کلیدهای از نوع باینری مشکل داره. برای کارهای حرفه ای تر باید از API استفاده کنی.

Reg1.hKey = HKEY_CURRENT_USER
Reg1.Path = "\Software\Microsoft\Windows\CurrentVersion\Run\MyP rogram"
If Not Reg1.KeyExists Then
msgbox "Key Not Found!"
'برای ایجاد این کلید دستور زیر رو اضافه کن
'Reg1.CreateKey
End If

فایل ضمیمه همراه با فایل chm:
83665

یاحق.
موفق باشید/

xrezax
دوشنبه 15 اسفند 1390, 10:07 صبح
هیچ کدوم بدرد نخورد. کار نمی کنن. API می خوام

setroyd
دوشنبه 15 اسفند 1390, 10:44 صبح
عزیز من من اون کدی که برات گذاشتم کار میکنه همون لحظه نوشتم و برات گذاشتم !!!

setroyd
دوشنبه 15 اسفند 1390, 10:54 صبح
Software\Microsoft\Windows\CurrentVersion\Run \MyProgram
شما برنامه رو اجرا کن و روی کامند کلیک کن میبینی که نوشته ساخته نشده اگر کلید رو بسازی یعنی myprogram اون موقع کلیک کن میبینی نوشته کلید هست . پس مشکل کجاست !!!؟