أريد طريقة تشغيل البرنامج مع تشغيل الويندوز كيف يتم ذلك ؟
أريد طريقة بحيث عند تشغيل الكمبيوتر بتم تشغيل اليرنامج
قم بإضافة هذا الـ Code إلى Module جديد
Private Const HKEY_LOCAL_MACHINE = &H80000002
Private Const REG_SZ = 1
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 RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueNeme As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Function AddToStartup(ByVal AllUsers As Boolean, ByVal FullPath As String, ByVal eXeName As String) As Boolean
Dim hKey As Long
Dim Result As Long
On Error GoTo Err:
hKey = IIf(AllUsers, HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER)
If RegOpenKey(hKey, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", Result) <> 0 Then Exit Function
If RegSetValueEx(Result, eXeName, 0, REG_SZ, ByVal (FullPath), Len(FullPath)) <> 0 Then Exit Function
If RegCloseKey(Result) <> 0 Then Exit Function
AddToStartup = True
Err:
Err.Clear
End Function
Public Function RemoveFromStartup(ByVal AllUsers As Boolean, Optional ByVal eXeName As String) As Boolean
Dim hKey As Long
Dim Result As Long
On Error GoTo Err:
hKey = IIf(AllUsers, HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER)
If RegOpenKey(hKey, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", Result) <> 0 Then Exit Function
If RegDeleteValue(Result, eXeName) <> 0 Then Exit Function
If RegCloseKey(Result) <> 0 Then Exit Function
RemoveFromStartup = True
Err:
Err.Clear
End Function
Private Const HKEY_CURRENT_USER = &H80000001
ومن ثم قم بإستدعاء الإجراء المطلوب إما للإضافة او الحذف من الـ Startup
وعلى سبيل المثال لإستدعاء إجراء الإضافة إلى الـ Startup :
AddToStartup False, App.Path & "\" & App.eXeName & ".exe", App.Title
وعلى سبيل المثال لإستدعاء إجراء الحذف من الـ Startup :
RemoveFromStartup False, App.Title
اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي
فليقبل الجميع تقديري واحترامي .. ولكم تحياتي
ماشاءلله عليك ألف شكرا لك وجاري تطبيق الطريقة
تم كتابة الجزء الأول في الموديول وتم كتابة AddToStartup False, App.Path & "\" & App.eXeName & ".exe", App.Title في Form Load وقمت بإعادة تشغيل الكمبيوتر ولم تنجح ، أعتقد أني وضعت السطر السابق في مكان خطأ فما المقصود بـ Start UP
وشكرا لك يا أخي
الـ Sartup هو الإسم المتعارف عليه لموضع أو للوقت الذي تفتح فيه البرامج تلقائيا مع الويندوس
إضافة إلى ذلك انه مجرد إسم وضعته انا ويمكن تغييره .. ووضعته دون غيره لانه هو المتعارف عليه كما قلت
وعليك وضع هذا الكود للنداء على الإجراء بدلا من السابق الآن .. وآخبرنا عن الرسالة
MsgBox "تمت العملية بنجاح"
Else
MsgBox "فشل في إجراء العملية"
End If
If AddToStartup(False, App.Path & "\" & App.EXEName & ".exe", App.Title) Then
وياريتك تجاوبني إذا عملت Compile للمشروع أم ( بتجرب من الفيجوال ) ؟
او بمعنى آخر هل هذا المسار موجود عندك ؟؟
App.Path & "\" & App.EXEName & ".exe"
علما بأن الـ App.Path هو مسار البرنامج والـ App.EXEName هو إسم الملف التنفيذي للمشروع
وبمعنى آخر هل المسار السابق هو نفس مسار الملف التنفيذي للمشروع ؟
اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي
فليقبل الجميع تقديري واحترامي .. ولكم تحياتي
أين يتم كتابة الكود التالي
If AddToStartup(False, App.Path & "\" & App.eXeName & ".exe", App.Title) Then
MsgBox "ÊãÊ ÇáÚãáíÉ ÈäÌÇÍ"
Else
MsgBox "ÝÔá Ýí ÅÌÑÇÁ ÇáÚãáíÉ"
End If
في الـ Form_Load مثلا كما قلت سابقا أو اي مكان آخر .. كما يليق لك
هذا الكود وظيفته إستدعاء الإجراء الخاص بجعل برنامجك يفتح مع كل مره يفتح فيها الـ Windows XP
اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي
فليقبل الجميع تقديري واحترامي .. ولكم تحياتي
السلام عليكم
اخي تفضل مثال في المرفقات وسوف تفهم ان شاء الله الطريقة
في رعاية الله

Stylmg@yahoo.fr