Windows Registry เป็นชุดการตั้งค่าที่ Windows และแอปพลิเคชันสามารถใช้ได้ มันคือไดเรกทอรีที่เก็บการตั้งค่าและตัวเลือกสำหรับระบบปฏิบัติการ Microsoft Windows มันประกอบด้วยข้อมูลและการตั้งค่าสำหรับฮาร์ดแวร์ทุกชิ้น ซอฟต์แวร์ระบบปฏิบัติการ ส่วนใหญ่ของ Non-OS Software ผู้ใช้ Preferences ของ PC ฯลฯ
Registry ประกอบด้วย 5 Root Keys ต่อไปนี้ Root Keys มี SubKeys Subkeys อาจมี Subkeys ของตัวเองและมีอย่างน้อยหนึ่งค่า เรียกว่า Default Value คีย์ที่มี Subkeys และ Values ทั้งหมด เรียกว่า Hive
แต่ละคีย์มีหนึ่งใน Data Types – ประเภทข้อมูล:
- REG_SZ, REG_BINARY,
- REG_DWORD,
- REG_QWORD,
- REG_MULTI_SZ หรือ
- REG_EXPAND_SZ.
ในบทความนี้ เราจะแสดงวิธีสร้าง Registry Key ใน Windows 10

ก่อนเริ่ม การสำรอง Registry หรือสร้าง System Restore Point เป็นความคิดที่ดีเสมอ
Windows Registry ซับซ้อนด้วยสถาปัตยกรรมและสร้างขึ้นมาเพื่อให้ผู้ใช้ทั่วไปไม่เข้าใจ ยังแนะนำว่าคุณควรทราบพื้นฐานและอย่าแก้ไขมัน ยกเว้นคุณรู้ว่ากำลังทำอะไร
ลำดับชั้นของ Windows Registry

เพื่อแก้ไข Registry เราใช้ Registry Editor ในตัว หรือ regedit มันแสดงโครงสร้างนำทางแบบต้นไม้ สูงสุดคือคอมพิวเตอร์ของคุณ ตามด้วยรายการโฟลเดอร์และซับโฟลเดอร์ โฟลเดอร์เหล่านี้เรียกว่า KEYS และมีชุดโฟลเดอร์คงที่ 5 ชุดภายใต้ Computer
- HKEY_CLASSES_ROOT: ประกอบด้วยข้อมูลการเชื่อมโยงนามสกุลไฟล์ ช่วยให้คอมพิวเตอร์เข้าใจว่าต้องทำอะไรกับงานเมื่อถูกขอ
- HKEY_CURRENT_USER: ประกอบด้วยข้อมูลการกำหนดค่าสำหรับ Windows และซอฟต์แวร์สำหรับผู้ใช้ปัจจุบัน
- HKEY_LOCAL_MACHINE: เก็บการกำหนดค่าสำหรับซอฟต์แวร์ที่ติดตั้งบนคอมพิวเตอร์ และ Windows OS ด้วย
- HKEY_USERS: ที่นี่คุณสามารถหาการกำหนดค่าเฉพาะผู้ใช้สำหรับผู้ใช้ทั้งหมดบนคอมพิวเตอร์นั้น
- HKEY_CURRENT_CONFIG: เป็น Pointer ไปยัง HKEY_LOCAL_MACHINE
นี่คือ Master Keys เนื่องจากคุณไม่สามารถสร้าง NEW KEY ภายใต้ Computer ได้ – แต่คุณสามารถสร้าง Keys ใหม่ภายใต้ Master Keys ใดๆ ได้
วิธีสร้าง Registry Key ใน Windows 11/10

1] ใช้ Registry Editor
การสร้าง Registry Key ง่ายมาก คลิกขวาที่โฟลเดอร์หรือพื้นที่ว่าง และเลือก New คุณสามารถสร้าง Key, String Value, Binary Value, DWORD Value (32-bit), QWORD Value (64-bit), Multi-String Value หรือ Expandable String Value วิธีนี้มีประโยชน์เมื่อคุณวางแผนทำการเปลี่ยนแปลงเล็กน้อยเพื่อแก้ปัญหาบนคอมพิวเตอร์ อาจเกี่ยวกับแอปพลิเคชันหรือระดับ OS

- เพื่อแก้ไขค่าที่มีอยู่ ให้ดับเบิลคลิกที่มันเพื่อเปิด Editor

- เพื่อลบ Key ให้คลิกขวาที่มันและเลือก Delete
- คุณยังมีตัวเลือก Rename, Export, Copy, และตั้งค่า Permissions
2] ใช้ Command Line

คุณยังสามารถใช้ Command Line เพื่อจัดการ Registry Keys พร้อมเคล็ดลับ ฟีเจอร์ และวิธีความปลอดภัย
3] ใช้ Notepad สร้าง REG Files
คลิกขวาที่ Key ที่มีอยู่ และ Export เปิดไฟล์นั้นใน Notepad จะช่วยให้คุณเข้าใจว่าจะแก้ไข Key และ Values ได้อย่างไร มีประโยชน์เมื่อต้องการ Bulk Editing พร้อม Backup

สังเกต Declaration เวอร์ชัน ตามด้วยบรรทัดว่าง แล้ว Path ตามด้วยส่วนที่เหลือในเครื่องหมายคำพูด และบรรทัดว่างอีกบรรทัด เมื่อแก้ไขเสร็จ คุณสามารถคลิกขวา และเลือก Merge ไฟล์เข้า Registry Hive
4] Third-Party Tools
หากคุณคิดว่า Default Registry Editor ซับซ้อน คุณสามารถใช้ Tools เช่น RegCool, Registrar Registry Manager Lite, และ Registry Commander พวกเขามีฟีเจอร์อย่าง Undo, Redo, Permission Management, Tabbed Window, Import, Export, Favorites ฯลฯ
5] ใช้ Programming
หากคุณเป็น Application Developer คุณควรใช้ Programming เพื่อจัดการการตั้งค่าแอปพลิเคชันของคุณใน Registry นี่คือตัวอย่าง และจะแตกต่างไปขึ้นอยู่กับภาษาที่คุณใช้พัฒนาแอปพลิเคชัน
RegistryKey key = Registry.LocalMachine.CreateSubKey(@"SYSTEM\CurrentControlSet\services\eventlog\MyApplication\MyService"); key.Close();
ตอนนี้คุณรู้วิธีทำแล้ว เรายังแนะนำให้อ่านว่าทุกอย่างนี้หมายความว่าอะไร มันสำคัญ และจะช่วยให้คุณแน่ใจว่าการเปลี่ยนแปลงที่คุณทำถูกต้อง
อะไรทำให้เป็น Registry Key?
หากคุณจินตนาการว่า "Key" คือโฟลเดอร์ ส่วนที่เหลือคือประเภทไฟล์ต่างๆ ที่เก็บค่าประเภทต่างๆ ดังนั้น หากคุณสร้างแอปพลิเคชัน คุณสามารถมี Master Folder แล้ว Subfolders เพื่อแยกชุดหนึ่งจากอีกชุด นี่คือรายละเอียดเล็กน้อยเกี่ยวกับแต่ละอย่าง:
DWORD & QWORD: Double Word เก็บข้อมูล 32-bit ได้ ในขณะที่ QWORD เก็บ 64-bit ได้

String Value (REG_SZ): เก็บ Unicode หรือ ANSI String ได้ และมี Null ที่ท้าย
Multi-String Value: เมื่อต้องการเก็บ String Value หลายจำนวน คุณสามารถใช้นี้ได้ อย่างไรก็ตาม ต้องจบด้วย Empty String (\0) ตัวอย่างง่ายๆ:
String1\0String2\0String3\0LastString\0\0
สังเกต "\0" ท้ายหมายถึงจบ String แรก และ \0 ตัวสุดท้ายหมายถึงจบ Multi-String

Expandable String Value: ใช้สำหรับ Environment Variables ด้วย Unicode หรือ ANSI String ข้อได้เปรียบคือคุณสามารถ Expand ได้ ไม่เหมือน String และ Multi-String Value
Binary Value: พื้นฐานที่สุด – มีแค่ 0 และ 1
หวังว่าบทความนี้จะมีประโยชน์
