PDA

View Full Version : سوال: قراردادن یک برنامه در استارت آپ ویندوز



nazanin_90
یک شنبه 23 تیر 1392, 00:06 صبح
سلام
آیا باکد نویسی امکان قرار دادن یک برنامه دیگر(غیر از برنامه جاری) در استارت آپ ویندوز وجود دارد ؟
اگروجود دارد لطفاً کد مربوطه را ارائه فرمائید!
و یک سوال دیگر اینکه آیا فقط برنامه های اجرائی(exe) قابلیت قرار گرفتن در استارت آپ ویندوز دارند یا نه؟
با تشکر

m.4.r.m
یک شنبه 23 تیر 1392, 01:13 صبح
اینو بزار تو ماژول :
Public 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

Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Public Declare Function RegSetValueEx Lib "advapi32.dll" _
Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName _
As String, ByVal Reserved As Long, ByVal dwType As Long, _
lpData As Any, ByVal cbData As Long) As Long

Public Const HKEY_CURRENT_USER = &H80000001
Public Const KEY_WRITE = &H20006
Public Const REG_SZ = 1


اینم کد اصلی شما :

Private Sub Cmd_Run_Click()

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

End Sub

nazanin_90
یک شنبه 23 تیر 1392, 07:51 صبح
سلام
با تشکر
مشکل جدیدی که برایم پیش آمده این است که وقتی از طریق واردکردن کلمه Msconfig در run واردتنظیمات سیستم میشوم و خارج میشوم (بدون اینکه تغییری ایجاد نمایم ) پیغام تصویر شماره یک ضمیمه صادر میشود و با انتخاب یکی از گزینه ها در هنگام بالا آمدن مجدد ویندوز برنامه مورد نظر که با کد فوق در استارت آپ ویندوز قرار داده شده بالا نمی آید و پیغام تصویر 2 ضمیمه صادر میشود.
ممنون میشوم برای رفع این مشکل کلی راهنمائی فرمائید.
با تشکر

m.4.r.m
یک شنبه 23 تیر 1392, 13:43 عصر
این مشکل در مورد ویندوز شماست نه برنامه نویسی باید مشکل ویندوزت رو حل کنی مشکل Msconfig رو بگردی تو اینترنت هست و الا من این برنامه رو خودم شخصا تست کردم تو Msconfig هم نشون داد مشکلی نداشت .

nazanin_90
یک شنبه 23 تیر 1392, 17:45 عصر
اینو بزار تو ماژول :
Public 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

Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Public Declare Function RegSetValueEx Lib "advapi32.dll" _
Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName _
As String, ByVal Reserved As Long, ByVal dwType As Long, _
lpData As Any, ByVal cbData As Long) As Long

Public Const HKEY_CURRENT_USER = &H80000001
Public Const KEY_WRITE = &H20006
Public Const REG_SZ = 1


اینم کد اصلی شما :

Private Sub Cmd_Run_Click()

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

End Sub

با سلام مجدد
دراین کد برای برداشتن برنامه از استارت آپ کدام فسمت را باید حذف کرد؟
با تشکر

mehran901
یک شنبه 23 تیر 1392, 20:11 عصر
سلام
با تشکر
مشکل جدیدی که برایم پیش آمده این است که وقتی از طریق واردکردن کلمه Msconfig در run واردتنظیمات سیستم میشوم و خارج میشوم (بدون اینکه تغییری ایجاد نمایم ) پیغام تصویر شماره یک ضمیمه صادر میشود و با انتخاب یکی از گزینه ها در هنگام بالا آمدن مجدد ویندوز برنامه مورد نظر که با کد فوق در استارت آپ ویندوز قرار داده شده بالا نمی آید و پیغام تصویر 2 ضمیمه صادر میشود.
ممنون میشوم برای رفع این مشکل کلی راهنمائی فرمائید.
با تشکر
درواقع اصلا مشکلی وجود نداره اینروال طبیعی و اون پیغام هم تیکش رو بذارین تا دیگه نیاد



با سلام مجدد
دراین کد برای برداشتن برنامه از استارت آپ کدام فسمت را باید حذف کرد؟
با تشکر


دربخشی از کدتون آدرس بفایل اجرایی رو دادین و در داخل کلید ثبت کردین ... حالا همین کد رو باز اجرا کنین و آدرس برنامه رو یا تغییر بدین به ی آدرس غیرواقعی ! یا خالیش کنین کلید رو ... منطقیه که دیگه اجرا نشه !



stringbuffer = " " & vbNullChar

nazanin_90
یک شنبه 23 تیر 1392, 21:47 عصر
درواقع اصلا مشکلی وجود نداره اینروال طبیعی و اون پیغام هم تیکش رو بذارین تا دیگه نیاد



دربخشی از کدتون آدرس بفایل اجرایی رو دادین و در داخل کلید ثبت کردین ... حالا همین کد رو باز اجرا کنین و آدرس برنامه رو یا تغییر بدین به ی آدرس غیرواقعی ! یا خالیش کنین کلید رو ... منطقیه که دیگه اجرا نشه !



stringbuffer = " " & vbNullChar

سلام به دوستان
من حسابی گیج شدم ؛ یک نمونه را در ضمیمه قرار دادم . در این نمونه در یکبار بالا آمدن ویندوز برنامه TestStartUP.exe که در کنار برنامه است بالا میآید ولی در مراحل بعد که ویندوز را لوگاف یا ریستارت می کنیم دیگر برنامه فوق بالا نمی آید .
ضمناًاگرتصویر ضمیمه را مشاهده نمائید در قسمت startup پنجره Msconfig برنامه های زیادی ایجاد شده چگونه این برنامه از این قسمت حذف میشوند؟
با تشکر

mehran901
یک شنبه 23 تیر 1392, 22:05 عصر
سلام به دوستان
من حسابی گیج شدم ؛ یک نمونه را در ضمیمه قرار دادم . در این نمونه در یکبار بالا آمدن ویندوز برنامه TestStartUP.exe که در کنار برنامه است بالا میآید ولی در مراحل بعد که ویندوز را لوگاف یا ریستارت می کنیم دیگر برنامه فوق بالا نمی آید .
ضمناًاگرتصویر ضمیمه را مشاهده نمائید در قسمت startup پنجره Msconfig برنامه های زیادی ایجاد شده چگونه این برنامه از این قسمت حذف میشوند؟
با تشکر

سلام ، اگه آدرس برنامتون به درستی در msconfig دیده میشه و ثبت شده مشکلی نباید وجود داشته باشه... برنامه تو استارتآپ قرار داره ... و باید اجرا بشه در هر دفعه ... البته شما میتونین کلید مورد نظرتون رو حذف کنین از رجیستری ...