PDA

View Full Version : ذخیره ی برنامه در startup سیستم



alizanganeh
سه شنبه 30 آبان 1391, 12:10 عصر
سلام کد زیر رو ببینید :


Dim hregkey As Long
Dim subkey As String
Dim stringbuffer As String

subkey = "Software\Microsoft\Windows\CurrentVersion\Run"

RetVal = RegOpenKeyEx(HKEY_CURRENT_USER, subkey, 0, KEY_WRITE, hregkey)
If RetVal <> 0 Then
Debug.Print "Can't open the subkey"
Exit Sub
End If
stringbuffer = App.Path & "\" & App.EXEName & ".exe" & vbNullChar
RetVal = RegSetValueEx(hregkey, "My App", 0, REG_SZ, ByVal stringbuffer, Len(stringbuffer))

RegCloseKey hregkey


با این کد برنامه رو در msconfig در startup سیستم میذاریم تا در زمان روشن شدن سیستم احرا بشه

این کد رو از همینجا گرفتم
حالا میخوام بدونم با چه کدی باید از startup درش بیارم؟

ممنون

farazjalili
سه شنبه 30 آبان 1391, 12:32 عصر
سلام عزیز خوب واضح است اون کلیدی رو که درست کردی را باید پاک کنی از تابع زیر کمک بگیر :
تابع RegDeleteKey : پاک کردن یک کلید و کلیه اطلاعات مرتبط با آن

Private Declare Function RegDeleteKey& Lib “advapi32.dll” Alias “RegDeleteKeyA” (ByVal hKey As Long, ByVal lpSubKey As String)

تابع RegDeleteValue : حذف مقدار یک key

Private Declare Function RegDeleteValue& Lib “advapi32.dll” Alias “RegDeleteValueA” (ByVal hKey As Long, ByVal lpValueName As String)

SlowCode
سه شنبه 30 آبان 1391, 12:35 عصر
سلام

Set reg = CreateObject("wscript.shell")
reg.regdelete "HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run\My App"

به جای My App اسم برنامت رو بنویس.

alizanganeh
سه شنبه 30 آبان 1391, 14:22 عصر
ممنون بچه ها
ولی فک کنم اینا نیاز نیست
خودم جای این خط :

stringbuffer = App.Path & "\" & App.EXEName & ".exe" & vbNullChar

این خط رو نوشتم و درست شد

stringbuffer = ""

اگر از نظر فنی و حرفه ای مشکلی داره بگید که عوض کنم

ممنون

SlowCode
سه شنبه 30 آبان 1391, 14:24 عصر
خب شما اینطوری مقدارش رو عوض میکنین تا برنامه اجرا نشه. کارتون رو راه میندازه ولی کار ناشیانه ای هست، بهتره حذفش کنی.

alizanganeh
سه شنبه 30 آبان 1391, 22:06 عصر
خب شما اینطوری مقدارش رو عوض میکنین تا برنامه اجرا نشه. کارتون رو راه میندازه ولی کار ناشیانه ای هست، بهتره حذفش کنی.




نه دیگه مقدار عوض نمیشه که
وقتی این کارو میکنی کلا از لیست استارت آپ در msconfig حذف میشه

بازم بنظرت نیازه؟
اگر شما تشخیص میدی عوض کنم :قلب:

SlowCode
سه شنبه 30 آبان 1391, 22:25 عصر
ببینم مگه توی خط 13 یعنی این خط:
RetVal = RegSetValueEx(hregkey, "My App", 0, REG_SZ, ByVal stringbuffer, Len(stringbuffer))
یه مقدار توی رجیستری ذخیره نمیشه؟ خب شما اومدی stringbuffer رو خالی کردی درسته؟ توی این متغیر هم مسیر برنامت ذخیره میشه دیگه پس وقتی مسیر برنامت رو خالی میزاری ویندوز نمیتونه برنامت رو پیدا کنه پس اجرا نمیشه.

وقتی این کارو میکنی کلا از لیست استارت آپ در msconfig حذف میشه
مطمئنی؟

بازم بنظرت نیازه؟
خب اگه با اون کار حذف بشه همین کد(کد خودت) رو بنویس ولی توی رجیستری رو هم نگاه کن ببین پاک میشه یا نه؟

اگر شما تشخیص میدی عوض کنم :قلب:
ممنون:بوس:

alizanganeh
چهارشنبه 01 آذر 1391, 00:26 صبح
ببینم مگه توی خط 13 یعنی این خط:
RetVal = RegSetValueEx(hregkey, "My App", 0, REG_SZ, ByVal stringbuffer, Len(stringbuffer))
یه مقدار توی رجیستری ذخیره نمیشه؟ خب شما اومدی stringbuffer رو خالی کردی درسته؟ توی این متغیر هم مسیر برنامت ذخیره میشه دیگه پس وقتی مسیر برنامت رو خالی میزاری ویندوز نمیتونه برنامت رو پیدا کنه پس اجرا نمیشه.

مطمئنی؟

خب اگه با اون کار حذف بشه همین کد(کد خودت) رو بنویس ولی توی رجیستری رو هم نگاه کن ببین پاک میشه یا نه؟

ممنون:بوس:






آره وقتی این کد رو میزنم کلا از توی لیست میره و وقتی کد اضافه کردن رو میزنم دوباره اضافه میشه و تیک دار میشه
پس در نتیجه با نظر کارشناسی شما همین کد کافیه
خیلی ممنون از راهنماییت :قلب: