ប្រើ​VB.Net បង្កើត​កម្មវិធី​ដើម្បី​គ្រប់គ្រង​ដំណើរការ Windows Registry

VB.Net ជា​ កម្មវិធី​សម្រាប់​អ្នក​យក​ទៅ​ប្រើ​ដើម្បី​បង្កើត​កម្មវិធី​ផ្សេងៗ​សម្រាប់​ ដំណើរការ​លើ​ម៉ាស៊ីន​កុំព្យូទ័រ​និង​នៅ​ក្នុង​ទូរស័ព្ទ​ដៃ​ដោយ​បង្កើត​បាន​ ជា Applicationផ្សេងៗ​គ្នា​និង​មាន​ដំណើរការ​ដោយឡែក​ពី​គ្នា​អាស្រ័យ​លើ​អ្នក​ដែល​ជា​អ្នក​បង្កើត​កម្មវិធី​ឬ​អ្នក Programmer
មុន​នឹង​ឈាន​ដល់​ការ​សរ​សេ​កម្មវិធី​ជា​មួយ​និង Windows Registry , CM សូម​ណែនាំ​ពី​អត្ថន័យ ​និង​អត្ថប្រយោជន៍​របស់ Windows Registryជា​មុន​សិន។
តើ Windows Registry ជា​អ្វី?
Windows Registry គឺជា hierarchical database ដែល​មាន​តួនាទី​ផ្ទុក​នូវ​ទិន្នន័យ​នៃ​ការ​ធ្វើការ Configuration setting និង Options ជា​ច្រើន​ក្នុង​ប្រព័ន្ធ​ដំណើរការMicrosoft Windows
ឧទាហរណ៍៖ Windows Registry វា​ផ្ទុក​នូវ​ព័ត៌មាន​របស់​កម្មវិធី (Software) ដូចជា Product Name, Version, User name, Serial នៃ​កម្មវិធី​ដែល​យើង​បាន​ដំឡើង​ដោយ​រួម​ទាំង​ព័ត៌មាន​របស់​ផ្នែក Hardware និង Configuration របស់ Windows ផង​ដែរ។
តើ​ហេតុ​អ្វី​បាន​ជា​យើង​ត្រូវ​ការ​សរសេរ​កម្មវិធី​ដើម្បី​ភ្ជាប់​ទៅ​កាន់ Windows Registry?
ជា​ធម្មតា Program ដែល ​បាន​បង្កើត​ឡើង​ជា​លក្ខណៈ​ស្តង់ដារ​គេ​តែង​តែ​បង្កើត​កូដ​ខ្លី​មួយ​ក្នុង​ នោះ​ដើម្បី​រក្សា​ទុក​នូវ​ព័ត៌មាន​របស់​កម្មវិធី​នៅ​ក្នុង Registry ហើយ​ខ្លះ​ទៀត​គេ​ផ្ទុក​នូវ Serial ដើម្បី​ផ្ទៀង​ផ្ទាត់​ជា​មួយ​នឹង​កម្មវិធី​មុន​ពេល​ដំណើរ​ការ​កម្មវិធី។
ដោយ​ឡែក​មេរោគ​នៅ​ពេល​បច្ចុប្បន្ន​ភាគ​ច្រើន​វា​ក៏​សរសេរ​កូដ​ទៅ​បិទ Registry, Taskmgr, Run … ដោយ​ស្វ័យប្រវត្តិ​ផង​ដែរ​តែ​ក្រោយ​ការ Scan virus រួច​យើង​នូវ​តែ​មិន​អាច​ប្រើ Run, Registry និង Taskmgr… បាន​ដដែល​ដូច្នេះ​យើង​ត្រូវ​ការ​ចូល​ទៅ​កាន់ gpedit.msc ដើម្បី​បើក​វា​វិញ។ តែ​យើង​ក៏​អាច​សរសេរ​កម្មវិធី​បាន​ដោយ​ខ្លួន​ឯង​ក្នុង​ការ​បើក​ឬ​បិទ options ទាំង​នោះ​នៅ​ក្នុង Registryផង​ដែរ​ដើម្បី​ចូល​ទៅ​បិទ​វា​មុន​មេរោគ​ចូល​ទៅ​បិទRegistry មុន​អ្នក។

របៀប​សរសេរ​កូដ​ក្នុង VB.net ដើម្បី​បញ្ជា​ទៅ​កាន់ Windows Registry
យើង​នឹង​បង្កើត​កម្ម​វី​ធី​តូច​មួយ​ ដូច​ខាង​ក្រោម​ដោយ​យើង​បង្កើត​ប៊ូតុង​សម្រាប់​កំណត់​បញ្ជា​លើ​មុខងារ​នីមួយៗ ​ដែល​អ្នក​ចង់​កំណត់​ទៅ​លើ​ដំណើរការ​របស់ Registry

មុខងារData Dictionary នៃ Program ដែល​បាន​កំណត់​នៅ​លើ​ផ្ទាំង Windowខាងលើ​មាន​បង្ហាញ​នៅ​ក្នុង​តារាង​ខាង​ក្រោម។

* ចំណាំ : ដើម្បី​ប្រើ​ប្រាស់ Code បញ្ជា Registry ក្នុង​ VB.net បាន​យើង​ត្រូវ Import name : Microsoft.Win32
- បង្កើត Key ក្នុង Registr
យើង​នឹង​បង្កើត Key មួយ​ឈ្មោះ​ថា CM Magazine នៅ​ក្នុង​ទីតាំង HKEY_CURRENT_USER\Softwareដោយ​បំពេញ​កូដ​ដូច​ខាង​ក្រោម។
PrivateSub btnCreateKey_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreateKey.Click
Dim vRegistryKey1 As RegistryKey
vRegistryKey1 = Registry.CurrentUser.OpenSubKey("Software", True)
vRegistryKey1.CreateSubKey("CM Magazine")
vRegistryKey1.Close()
MsgBox("Create Key Was Completed")
EndSub
- បង្កើត Value ក្នុង Registry
យើង​នឹង​បង្កើត Value ដែល​មាន​ឈ្មោះ Name, Description និង Version ដោយ​ភ្ជាប់​តម្លៃ​របស់​វា​ទៅ នឹង Textbox : txtName, txtDescription, txtVersion នៅ​ក្នុង​ទីតាំង HKEY_CURRENT_USER\Software\CM Magazine
PrivateSub btnCreateValue_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreateValue.Click
Dim vRegistryKey2 As RegistryKey
vRegistryKey2 = Registry.CurrentUser.OpenSubKey(“Software\CM Magazine”, True)
vRegistryKey2.SetValue(“Name”, txtName.Text)
vRegistryKey2.SetValue(“Description”, txtDescription.Text)
vRegistryKey2.SetValue(“Version”, TxtVersion.Text)
vRegistryKey2.Close()
MsgBox(“Create Value Was Completed”)
EndSub
៣- អាន​តម្លៃ​ចេញពី Value របស់ Registry
ក្រោយ​ពី​ការ​ដាក់ Value រួច​ហើយ​យើង​និង​ហៅ​តម្លៃ​របស់​វា​ចេញ​មក​បង្ហាញ​តាម Message box ។

PrivateSub ReadValue_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReadValue.Click
Dim strMgr AsString
Dim vRegistryKey3 As RegistryKey
vRegistryKey3 = Registry.CurrentUser.OpenSubKey("Software\CM Magazine", True)
strMgr = vRegistryKey.GetValue("Name").ToString
strMgr = strMgr + vbCrLf + vRegistryKey3.GetValue("Description").ToString
strMgr = strMgr + vbCrLf + vRegistryKey3.GetValue("Version").ToString
MsgBox(strMgr)
vRegistryKey3.Close()
EndSub

៤- លុប Value របស់ Registry
ក្នុង​កំណត់​កូដ​ខាង​ក្រោម​នេះ​យើង​និង​ធ្វើ​ការ​លុប Value ឈ្មោះ Version ចេញ​ពី​ទីតាំង HKEY_CURRENT_USER\Software\CM Magazine
Private Sub btnDeleteValue_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeleteValue.Click
Dim vRegistryKey4 As RegistryKey
vRegistryKey4 = Registry.CurrentUser.OpenSubKey("Software\CM Magazine", True)
vRegistryKey4.DeleteValue("Version")
vRegistryKey4.Close()
MsgBox("Delete Value Was Completed")
End Sub

5- លុប Key របស់ Registry
ក្នុង​កំណាត់​កូដ​ខាង​ក្រោម​នេះ​យើង​និង​ធ្វើ​ការ​លុប​ Keyឈ្មោះ CM Magazine ចេញ​ពី HKEY_CURRENT_USER\Software\ តែម្ដង។
Private Sub btnDeleteKey_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeleteKey.Click
Dim vRegistryKey5 As RegistryKey
vRegistryKey5 = Registry.CurrentUser.OpenSubKey("Software", True)
vRegistryKey5.DeleteSubKey("CM Magazine")
vRegistryKey5.Close()
MsgBox("Delete Value Was Completed")
End Sub

-ក្រោយ ​ពី​បាន​បញ្ចប់​តាម​ជំហាន​នីមួយ​នៃ​ការ​បង្កើត​កម្មវិធី​ដែល​យើង​ខ្ញុំ​បាន​ បង្ហាញ​ខាង​លើ​អ្នក​អាច​យក​វា​ទៅ​ដាក់​ឱ្យ​ដំណើរការ​លើ​កុំព្យូទ័រ​ផ្សេងៗ​ ដោយ​គ្រាន់តែ​អ្នក​យក .NetFramework របស់ VB.Net ទៅ​ដំឡើង​លើ​កុំព្យូទ័រ​នោះ​ក្នុង​ករណី​អ្នក​មិន​ទាន់​បាន​បម្លែង​វា​ទៅ​ជា file សម្រាប់ Setup ទេ​នោះ។ប៉ុន្តែ​មុន​នឹង​ដំណើរការ​អ្នក​ត្រូវ​តែ​ចូល​ទៅ​បង្កើត Folder នៅ ​ក្នុង​ទីតាំង​ដូច​បាន​បង្ហាញ​នៅ​ក្នុង​ចំណុច​ទី​១​ខាង​លើ​តែ​បើ​អ្នក​មិន​ ចង់​ចូល​ទៅ​បង្កើត​ដោយ​ផ្ទាល់​ទេ​អ្នក​អាច​សរសេរ​ដើម្បី​ឱ្យ​កម្មវិធី​ចូល​ ទៅ​បង្កើត Folder នោះ​ដោយ​ស្វ័យប្រវត្ត​ក៏​បាន៕