29-08-20, 11:33 PM
السّلام عليكم و رحمة الله و بركاته
إضافة لما طرحه أخي الكريم أنس محمود .. بارك الله فيه و له
من باب الإضافة ..
بالفورم الخاص بالإعدادات العامّة يتم وضع تشك بوكس و يقابله بالجدول حقل كمثال تحت اسم StartupWithWindows من نوع Boolean
بالفورم الإفتتاحي لمشروعك .. أوّل فورم يتم إظهاره .. كمثال Form1 .. يتم وضع CheckBox1 غير مؤشّر
بأي مكان بالفورم 1 .. نضع هذا الكود .. لنجلب قيمة الحقل بقاعدة البيانات لل CheckBox1 .. نعم أم لا
كود :
Public Function Recuperer_Startup_With_Windows_From_Table_Settings() As String
Using Cmd As New OleDbCommand("SELECT * From TBL_SETTINGS", Conne_2020)
If Conne_2020.State = ConnectionState.Closed Then Conne_2020.Open()
Using Dreader = Cmd.ExecuteReader()
If Dreader.HasRows Then
Do While Dreader.Read
Me.CheckBox1.Checked = Convert.ToBoolean(Dreader("StartupWithWindows"))
Loop
End If
End Using
End Using
If Conne_2020.State = ConnectionState.Open Then Conne_2020.Close()
Dim Myreturnvalue As String = Nothing
Return Myreturnvalue
End Functionنضيف هذا الكود بأي مكان بالفورم 1 ..
كود :
Private Sub Run_Programme_At_Startup_Windows()
Try
Dim regKey As Microsoft.Win32.RegistryKey
If CheckBox1.Checked = True Then 'Add In Registry
regKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", True)
regKey.SetValue(Application.ProductName, Application.ExecutablePath)
regKey.Close()
Else 'Delete From Registry
regKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", True)
regKey.DeleteValue(Application.ProductName, False)
regKey.Close()
End If
Catch ex As Exception
End Try
End Subأخيرا بالفورم لود بالفورم 1 دائما .. يتم إستدعاء ما سبق ذكره بالترتيب
جلب قيمة التشك بوكس من قاعدة البيانات .. ثم التعامل حسب تلك القيمة مع الريجيستري
كود :
Call Recuperer_Startup_With_Windows_From_Table_Settings()
Call Run_Programme_At_Startup_Windows()و أخيرا .. لا تنس تغيير قيمة التشك بوكس 1 .. كلما قمت بتغيير الإعدادات
بالمعنى بعد كود الحفظ أو كود التعديل أو حتى الحذف يتم إستدعاء هذا السطر
كود :
Call Recuperer_Startup_With_Windows_From_Table_Settings()تحياتي
قناتنا على اليوتوب
