แสดงบทความที่มีป้ายกำกับ Value แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Value แสดงบทความทั้งหมด

วันอังคารที่ 12 กุมภาพันธ์ พ.ศ. 2556

Value Format in Registry & how to write Value data each type: รูปแบบข้อมูลใน Registry และ วิธีการเขียนข้อมูลแต่ละประเภท(Basic Registry Page 3.)


 


1.True File & Directory of Registry in Windows System & Registry Component 2. 5 Root key in Registry
3. Value format in Registry & how to write Value data each type. 4. How to use Menu function & Shortcut key in registry Editor
5. Create & editing Registry with Notepad or Wordpad(Create File.reg) 6. Writing Value & Value data in file.reg with Notepad or WordPad
7. Delete Key , Value & Value data in registry with Notepad or Wordpad(File.reg) 8. Notepad WordPad : Toy or Magic? (Review&Info Editor Software)

Basic Registry Page 3.


Value format in Registry & how to write Value data each type.

รูปแบบใน Registry และ วิธีการเขียนข้อมูลแต่ละประเภท



 



Value format in Registry & how to write Value data each type. (Basic Registry Page 3.)เมื่อคุณเปิดโปรแกรม Registry Editor ที่ Frame ด้านขวา สังเกตที่ Type colume คุณจะเห็นอักษรย่อลักษณะนี้ครับ REG_SZ, REG_BINARY, REG_DWORD, REG_QWORD, REG_MULTI_SZ, REG_EXPAND_SZ
Q : มันคืออะไร?
A : ขอตอบว่า มันคือเนื้อหาใน Page นี้หน่ะสิ.. !? (ตอบแบบนี้น่าจะสมนาคุณด้วย ขนมส้วนเตียนbata มาก) ....มันคือข้อมูลรูปแบบต่างของ Registry ครับ และ ถือเป็นเรื่องพื้นฐานสำคัญที่สุดเรื่องหนึ่งที่จำเป็นต้องรู้ ถ้าคุณคิดจะไปเล่นกับ Registry
Q : ถ้าไม่รู้เรื่องเลย แล้วเข้าไปแก้ไข หรือ ปรับแต่งให้ตรงตามสูตรเปะๆ แบบตาม Tip ใน Internet หรือ หนังสือมันผิดหรือ?
A : ก็มีทั้งผิด และถูกเพระว่า คนจะเขียนบทความเกี่ยวกับ Registry ส่วนใหญ่(ที่ไม่ใช่ทั้งหมด)ก็ต้องมีพื้นฐานในเรื่องที่ตนเขียนอยู่แล้ว แต่ผมอยากจะถามว่า : คุณจะหลับหูหลับตาเชื่อ หรือทำตามในเรื่องที่คุณไม่รู้จักที่มาที่ไปแบบง่ายๆ เพียงเพราะมันเป็นบทความจาก Internet หรือ มาจากหนังสืออย่างนั้นเลยหรือครับ? เข้าเนื้อหาดีกว่า(ขอเรียกสั้นๆว่า reg )
เปิดโปรแกรม Registry Editor
 พิมพ์ regedit ที่ช่อง Start Search(Vista, Win7), พิมพ์ regedit ที่ Start screen(win8)
 กดKey Windows + r จะขึ้น Dialogbox Run พิมพ์ regedit กด OK จะมี Pop-up ขึ้นมาถามยืนยันให้กดYes (XP,Vista,7,8) แต่ถ้าคุณต้องการรู้วิธีการเปิดที่มากกว่านี้ ผมเขียนรวมไว้ที่ Page1.

Registry How to Create New...1. ที่ Column ด้านซ้ายเราเรียกว่า Key โดยหลักของ reg ในหนึ่ง Key จะต้องมีข้อมูลอย่างน้อย 1 ค่า ซึ่งโปรแกรมจะสร้างให้โดยอัตโนมัติทันทีเมื่อคุณสร้าง Key ขึ้นมาใหม่ และ ข้อมูลแรก(ค่า Default) ที่โปรแกรมสร้างให้นี้จะเป็นข้อมูลแบบ”สายประคำ” ว้าว!!..แปลเป็นภาษาไทยแล้วฟังดูขลังดีพิลึก...เราเรียกว่า “String Value” ครับ
* String : ในภาษา Computer หมายถึง สายอักขระ คือการนำอักษรหลายๆตัวมารวมกันเป็นข้อมูลยาวๆ
* ถ้าคุณอยากรู้ว่า ตอนนี้คุณได้เข้ามาถึง Rootkey ไหนให้ดูที่แถบ Status bar(เส้นใต้สีม่วง)
2. และ เมื่อคุณคลิกขวาที่คีย์ใดก็ตาม (หรือคลิกขวาที่ Column ด้านซ้ายก็ได้)จากนั้นเลือก New > .... ดูที่ Pic 1.ในกรอบสีส้ม
- ถ้าคุณเลือก New > Key ก็คือ สร้างคีย์ย่อยใหม่ถัดจากคีย์ที่คุณเลือก
- ถ้าคุณเลือก ตัวอื่นก็จะเป็นการสร้างข้อมูล (Value)ประเภทต่างๆ ซึ่งข้อมูลใน reg ที่คุณจะพบเห็นมี 6 ประเภทครับ ตามนี้....




 

ข้อมูลแต่ละประเภทของ Registry

Note : ในเครื่องหมายวงเล็บ คือ อักษรย่อที่แสดงใน Type column ของหน้าต่าง Registry Editor เพื่อบอกให้เรารู้ว่า ข้อมูลนั้นๆเป็นข้อมูลแบบไหน

String Value(REG_SZ )

คือข้อมูลที่เป็นข้อความแบบทั่วๆไปที่สามารถอ่านและแปลได้ตามปกติ เช่น ข้อความที่แสดงในโปรแกรมต่างๆข้อมูลแบบนี้มีให้เราเห็นเยอะครับ คุณสามารถดู ตัวอย่าง ของการปรับแต่ง Reg String Value เพื่อนำมาใช้ประโยชน์ได้จาก Link ของบทความข้างล่างครับ
- Tweak user interface in Uninstall or change a program (Win 8,7,Vista) (เปลี่ยน ชื่อ, Icon, Version,ฯลฯ ของโปรแกรมในหน้าต่าง Uninstall ...)
- Create OEM infromations (เป็นการปรับแต่งส่วนต่างๆใน system properties ที่เรียกกันว่า OEM informations )

Binary Value (REG_BINARY)

เป็นข้อมูลแบบเลขฐาน2 แต่ในการตั้งค่า และ การแสดงผลบนหน้าต่าง Registry Editor(Data Column) จะเป็นเลขฐาน16(Hexadecimal) ประกอบไปด้วยตัวเลขกับตัวอักษร16ตัวคือ0123456789ABCDEF เราจะพบเห็นข้อมูลแบบ Binary ได้ในส่วนของการตั้งค่าต่างๆของโปรแกรม หรือการตั้งค่าของอุปกรณ์ Hardware มากกว่า ซึ่งถ้าคุณไม่มีความรู้ในส่วนนั้นจริงๆละก็ อย่ายุ่งจะดีกว่า แต่มันก็พอจะมีส่วนให้สังเกตได้อยู่นะว่าข้อมูล Binary นั้นๆมันคืออะไร เพราะในการตั้งค่าที่ช่อง Value data ของ Binary นั้น เราสามารถใส่ข้อมูลได้2แบบคือ (3.) ใส่ข้อมูลแบบข้อความธรรมดา [  http//:www.Booiii.Brogsport.com/ ] หรือ ใส่ข้อมูลแบบตัวเลขฐาน16(Hexadecimal) [  http//:www.Booiii.Brogsport.com/ ] เพื่อให้มองเห็นภาพได้ชัดเจนยิ่งขึ้นดูตัวอย่างจาก Pic 2. ครับ
REG_Binary Value (REG_BINARY)
Calculator
1. ผมทดลองสร้าง Key ย่อยขึ้นมาที่ HKEY_CLASSES_ROOT\* จากนั้นตั้งชื่อเป็น MY_TEST(1.) จากนั้นที่ Column ด้านขวาของ Key MY_TEST ผมคลิกขวาเลือก New > Binary Value เพื่อสร้าง Binary value ขึ้นมาใหม่ และ ตั้งชื่อเป็น TEST BINARY (2.)
2. จากนั้นผม Double clickที่ Value TEST BINARY ก็จะมี Dialogbox Edit binary Value เปิดขึ้นมาให้ตั้งต่า(3.)
3. ในที่นี้ผมเลือกวิธีการสร้างข้อมูลแบบข้อความธรรมดา ขออธิบายเป็นส่วนๆไปนะครับ
 http//:www.Booiii.Brogsport.com/: ข้อความธรรมดา ที่ผมใส่ลงไป 1บรรทัดสามารถป้อนตัวอักษรได้ 8ตัว และ การเว้นวรรค(Space) ในระบบของคอมพิวเตอร์ก็จะนับเป็น 1ตัวอักษรเช่นกัน
 http//:www.Booiii.Brogsport.com/ : ข้อมูลแบบเลขฐาน16(Hexadecimal) ที่โปรแกรมสร้างให้ อัตโนมัติ แต่ถ้าคุณเลือกตั้งค่าแบบเลขฐาน16(Hexadecimal) โปรแกรมจะสร้างข้อความให้เอง
 http//:www.Booiii.Brogsport.com/: ที่ผมขีดเส้นใต้ในกรอบสีฟ้าเป็นจำนวนรวมของอักษรเมื่อป้อนมาถึงบรรทัดนั้นๆได้ครบ 8ตัวพอดี แต่เป็นการเขียนจำนวนแบบ ตัวเลขฐาน16(Hexadecimal) เลข 0 ข้างหน้าไม่มีความหมาย ถ้าคุณต้องการรู้จำนวนจริงของตัวอักษรที่เราใส่ลงไป ก็ต้องแปลงเลขฐาน 16ให้เป็นเลขฐาน 10(Decimal) ซะก่อน วิธีการคิดอย่างง่ายๆก็ดูจากตัวอย่างที่ผมขีดเส้นใต้สีส้มครับ วิธีการก็ตามนี้
- เปิดโปรแกรม Calculator ขึ้นมาจากนั้นคลิก View > Programmer(Alt+3) >  http//:www.Booiii.Brogsport.com/ ถ้าตามตัวอย่างของผม เมื่อผมใส่ข้อมูลมาถึงบรรทัดที่ผมขีดเส้นใต้ โปรแกรมจะขึ้นบรรทัดใหม่ที่ กรอบสีฟ้า เป็นตัวเลขฐาน 16=20 เมื่อผมใช้เครื่องคิดเลขแปลงจากเลขฐาน16(Hex)มาเป็นเลขฐาน10(Dec)ก็จะจำนวนตัวอักษรที่ผมพิมพ์มาถึง 8ตัวสุดท้ายของบรรทัดนั้นพอดี ซึ่งก็จะได้เป็น 32 ตัวอักษร
- บรรทัดสุดท้ายที่ผมพิมพ์ 00 ลงไปอีก 2ตัว ถึงแม้ที่กรอบสีฟ้าโปรแกรมจะขึ้นค่า Hex เป็น 28 รอไว้ก็ไม่ได้หมายความว่าจะมีตัวอักษรรวมกันทั้งหมด = 40 นะครับ เพราะในความหมายของโปรแกรมก็คือ ต้องพิมพ์ให้เต็มบรรทัดนี้ก่อนถึงจะ = 40 ตัวอักษร

3DWORD (32-bit) ValueDWORD (32-bit) Value(REG_DWORD)

(Pic 3.) ข้อมูลแบบ Double Word ในการแสดงค่าในหน้าต่าง Registry Editor(Data column) จะแสดงข้อมูลอยู่ 2 รูปแบบ คือแสดงข้อมูลแบบเลขฐาน16ก่อน โดยมี0x(ศูนย์X)นำหน้าตามด้วยเลขฐาน16(Hexadecimal) จำนวน8ตัว ในวงเล็บท้ายจะมีข้อมูลแบบเลขฐาน10 (Decimal)กำกับอีกที ส่วนใหญ่(ที่ไม่ได้แปลว่าทั้งหมด DWORD32bit Value มักจะเป็นข้อมูลในลักษณะบูลีน ( อ่านรายละเอียดด้านล่าง) เพื่อใช้ในการกำหนดสถานะ การทำงาน หรือตัดสินใจอย่างใดอย่างหนึ่ง เช่น ตั้งค่าเป็น 0 = ปิดการทำงาน หรือ ถ้าตั้งค่าเป็น 1= เปิดการทำงาน เป็นต้น แต่มันไม่ได้มีสูตรตายตัวแบบนี้ทั้งหมดนะ ทั้งนี้ขึ้นอยู่กับผู้ผลิต Software หรือผู้คิดค้นการตั้งค่านั้นๆ จะกำหนดว่าตัวเลขอะไรคือเปิด หรือ ตัวเลขอะไรคือ ปิด และ มันก็ไม่จำเป็นด้วยว่า DWORD (32-bit) Value จะต้องเป็นการตั้งค่าเป็น เปิด/ปิด, ใช้/ไม่ใช้เท่านั้น เพราะมันอาจจะเป็นการตั้งค่าให้โปรแกรมทำงานในแบบหลายๆสถานะการณ์ก็มี
เราสามารถเลือกป้อนข้อมูล DWORD ได้2แบบครับ โดยการเลือกที่ค่า Base(ฐาน) และ เนื่องจากมันถูกจำกัดขนาดไว้ที่32bitเราจึงสามารถป้อนข้อมูลแบบ Hexadecimal ได้สูงสุด8ตัว แต่ถ้าเลือกป้อนข้อมูลแบบDecimal จะป้อนได้ 10ตัว เหตุผลที่มันใส่ข้อมูลได้สูงสุดเพียง 8ตัว ก็เพราะว่า เลขฐาน16 หนึ่งตัวจะมีขนาดเท่ากับ4บิท เพราะฉนั้น DWORD 32bit ก็เท่ากับเอา32ตั้งหารด้วย4 ก็= 8 ตัวอักษร
*Boolean logic(ตรรกะแบบบูล): ตัวแปรที่มีการกำหนดค่าที่แน่นอนให้มีผลอย่างใดอย่างหนึ่งที่ชัดเจน เช่นการกำหนดให้เป็น"จริง" (True) หรือ " ไม่จริง "(False) ใช้มากในการเขียนโปรแกรม เป็นหลักพิชคณิต ที่ตั้งตามชื่อของผู้คิดค้น คือยอร์ช บูล (George Boole)

4 QWORD (64-bit) Value

 

QWORD (64-bit) Value (REG_QWORD)

ข้อมูลแบบ Quad Word (ควอดเวิร์ด)ในการสร้างข้อมูล รวมไปถึงการแสดงผลบนหน้าต่าง Registry Editor จะมีลักษณะเหมือน กับ DWORD Value แต่จะแตกต่างตรงที่ QWORD Value จะสามารถใส่ข้อมูลได้มากเป็น1เท่าตัวของข้อมูล DWORD (เพราะมันเป็น 64bit ไง) กล่าวคือถ้าเลือกค่า Base เป็น Hexadecimal จะใส่ข้อมูลได้ 16ตัว และ ถ้าเลือก Base เป็น Decimal(ฐาน10)จะใส่ข้อมูลได้ 20ตัว


5Multi String Value

 


Multi String Value(REG_MULTI_SZ)

เป็นข้อมูลตัวอักษรแบบ String Value ครับ แตกต่างกันตรงที่ Multi String Value สามารถใส่ข้อความได้หลายบรรทัดเท่านั้นเอง การแสดงผลบนหน้าต่าง Registry Editor จะแสดงเป็นบรรทัดเดียวกันหมด แต่เวลานำไปใช้งานจริง จะขึ้นอยู่ที่ตัวโปรแกรม จะแยกตามจำนวนบรรทัดที่ตั้งค่าไว้เอง




6Expandable String ValueExpandable String Value(REG_EXPAND_SZ )

เป็นข้อมูลตัวอักษรแบบเดียวกับ String Value แต่ ที่แตกต่างก็คือ ใช้เก็บข้อมูลตัวแปรของระบบเพื่อให้ระบบอ่านแล้วตีค่าได้ ตัวอย่างเช่น%systemroot% หรือ %username% ,ฯลฯ ดูตัวอย่างที่(Pic 6.)


Flushe away(toad)  Funny animation.gif* CLSID(Class Identifier)*
เนื้อหาตรงนี้อาจไม่เกี่ยวข้องโดยตรงกับ Expandable String Value แต่ผมเขียนขึ้นมาเพื่อขยายความ ในเรื่องของ CLSID จาก Page 1. ครับ
- จาก Root key ในตัวอย่าง Pic 6.(HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}) ตรงนี้เป็น(Class Identifier) ที่เชื่อมโยงไปยังการตั้งค่าต่างๆของ Computer และ ถ้าคุณอยากรู้ว่า CLSID ตัวไหนเชื่อมโยง ไปยัง Object อะไร หรือ เป็นของโปรแกรมไหน ให้คุณดูที่ REG_SZ ที่ชื่อ Default ครับ
- ขยายความ ทุกอย่าง,ทุกคำสั่ง,ทุกเมนูที่อยู่ในระบบวินโดว์ไม่ว่าจะเป็นComputer ,Home Group, Folder,ฯลฯ เราเรียกรวมๆว่า Object (วัตถุ,เป้าหมาย) ใน Registry อ็อบเจ็คทต่างๆจะแทนค่าด้วย CLSID
- ชุดตัวเลขในวงเลบปีกกา{Braces} เป็นชุดตัวเลขระบบสุ่มขนาด 128 bits ของ Microsoft ที่สร้างมาจาก GUID(Globally Unique Identifier)

การใช้งานแท็บเมนูคำสั่งต่างๆของ Registry Editor และ Keyboard Shortcut ที่น่าสนใจ Read More




Delete Key , Value & Value data in registry with Notepad or Wordpad(File.reg):ลบ Key , Value และ Value data ใน registry ด้วย Notepad หรือ Wordpad(File.reg):Basic Registry Page 7.


 

1.True File & Directory of Registry in Windows System & Registry Component 2. 5 Root key in Registry
3. Value format in Registry & how to write Value data each type. 4. How to use Menu function & Shortcut key in registry Editor
5. Create & editing Registry with Notepad or Wordpad(Create File.reg) 6. Writing Value & Value data in file.reg with Notepad or WordPad
7. Delete Key , Value & Value data in registry with Notepad or Wordpad(File.reg) 8. Notepad WordPad : Toy or Magic? (Review&Info Editor Software)

Basic Registry Page 7.


Delete Key , Value & Value data in registry with Notepad or Wordpad(File.reg)

ลบ Key , Value และ Value data ใน registry ด้วย Notepad หรือ Wordpad(File.reg)




Delete Key , Value & Value data in registry with Notepad or Wordpad(File.reg)



ถ้า คุณยังไม่มีพื้นฐานการสร้าง File.reg ด้วยโปรแกรม Notepad ผมแนะนำให้เริ่มต้นอ่านจาก Page 5,6 มาก่อนจะเข้าใจได้ดีกว่า

Page นี้จะเป็นการสร้าง File.reg ขึ้นมาเพื่อลบ Key , Value และ Value data ใน registry และ ถ้าคุณจะทดลองทำตาม ขอแนะนำว่าให้ สร้าง Restore point ใน Systems Restore กันเน่าไว้ก่อนด้วยนะครับ

กฎ 5.ข้อ ของ Registry ที่คุณควรรู้ (ทบทวนจาก Page 5.)

1. คุณไม่สามารถเปลี่ยนชื่อ หรือ ลบ Rootkey ทั้ง5 ของ Registry ได้
2. คุณไม่สามารถเปลี่ยนชื่อ หรือ ลบ String ที่ชื่อ(Default)ที่โปรแกรมสร้างขึ้นมาให้ในทุก Key ได้ แต่สามารถตั้งค่า และ เปลี่ยนแปลงแก้ไข Value data ได้
3. ในการสร้าง key ย่อยขึ้นมาใหม่ที่อยู่ระดับ(Level)เดียวกัน คุณไม่สามารถตั้งชื่อ Key ให้เหมือนกันได้ แต่ถ้าต่างระดับ(คนละคีย์) หรือ ต่าง Root key สามารถทำได้
4. ใน Key เดียวกัน คุณสามารถสร้าง Value กี่ชนิด, กี่ค่าก็ได้ แต่คุณไม่สามารถตั้งชื่อให้เหมือนกันได้ แม้ว่า จะเป็น Value ที่ต่างชนิดกันก็ตาม แต่ถ้าต่าง Key สามารถทำได้
5. *** บาง Key และ บาง Value จะติดค่า Permissions ซึ่งค่า Permissions นี้สามารถแก้ไขได้ แต่ถ้า Key และ Value นั้น มีความสำคัญต่อระบบ ถึงแม้คุณจะเปลี่ยนค่า Permissions ได้ หรือ ไม่ได้ก็ตาม คุณก็ไม่สามารถแก้ไข หรือ ลบ ได้เหมือนกัน แต่ทั้งนี้ไม่รวมถึง Key ย่อยถัดลงไป ตรงนี้ต้องใช้ความรอบคอบเป็นพิเศษ แต่ถ้าคุณยังยืนยันจะแก้ไขจริงๆ คุณต้อง Logon เข้าไปแก้ไขในชื่อadmin[4] Administrator และถ้าคุณยังแก้ไขใน Admin Account ไม่ได้อีก, นั่นหมายความว่าการตั้งค่าของ Registryนั้นๆต้องมีความสำคัญต่อระบบมาก หรือระบบของคุณอาจถูก Malware เล่นงานก็เป็นไปได้เหมือนกัน (ตรงนี้มีหลายกรณี)
ในบทความนี้ผมจะใช้ Wordpad ครับ เพราะย่อ, ขยาย, ปรับสีข้อความเวลาแค็ปรูปได้ดีกว่า ส่วนคุณผู้อ่านอย่าจะใช้โปรแกรม Editor ตัวไหนก็ตามสะดวก

Delete key in Registry with file.reg

ผมทดลองสร้าง Keyใหม่ขึ้นมาตามนี้ครับ HKEY_CLASSES_ROOT\TEST_DELETE จากนั้นก็ได้สร้าง Key ย่อย ถัดลงไปอีก 2 Key จากนั้นตั้งชื่อว่าMyKeyLevel-1 และ MyKey Level-2 ตามลำดับ ดูตัวอย่างจาก (Pic 1.)

A. ลบ Key ใน Registry ด้วย File.reg

วิธีการลบ Key : ให้คุณใส่ เครื่องหมายลบ หรือ เครื่องหมาย Score( - )ที่ด้านหน้า ของ ตำแหน่ง Key ที่คุณต้องการจะลบจากนั้นก็ Save เป็น File.reg > Double click เพื่อ Add reg Key ย่อยตัวสุดท้ายที่ระบุ จะถูกลบไปเอง

 

จาก Pic1. : ถ้าผมเขียน Script เป็น.....
1. [-HKEY_CLASSES_ROOT\TEST_DELETE\MyKeyLevel-1]  ความหมายคือ ให้ลบ Key ที่ชื่อ MyKeyLevel-1 รวมถึง Key ย่อยที่ถัดลงไปทั้งหมดด้วย ในที่นี้ก็คือ MyKey Level-2 .....แต่ถ้าผมเขียนสคลิป เป็น...
2. [-HKEY_CLASSES_ROOT\TEST_DELETE\MyKeyLevel-1\MyKey Level-2]  ความหมายคือ ให้ลบเฉพาะ MyKeyLevel-2 ซึ่งเป็นเป็น Key สุดท้ายที่ระบุ และ MyKeyLevel-1 ก็ยังอ

 

2Delete value & value data with File.reg

 

B. ลบ Value ใน Registry ด้วย File.reg

- Value ทุกชนิดใน Registrry จะมีวิธีการลบที่เหมือนกันหมดครับ เหตุผลก็เป็นไปตามกฏข้อ 4. (Value ที่อยู่ใน Key เดียวกันจะมีชื่อซ้ำกันไม่ได้) เพราะฉนั้นเราจึงไม่ต้องระบุชนิดของ Value ที่เราจะลบ วิธีการก็ตามนี้ครับ
ให้คุณระบุ"ชื่อ Value" ที่อยู่ในเเครื่องหมายคำพูดจากนั้น ตามด้วยเครื่องหมาย =- ("Value Name"=-)
- ในกรณีของ String ที่ชื่อ(Default) จะไม่สามารถลบได้ แต่จะให้ผลลัพธ์(Output)ที่แตกต่างออกไป เหตุผลก็เป็นไปตามกฏข้อ 2.(อ่านรายละเอียดที่ข้อ D.)


Delete Value data with file.reg
Delete Value data with file.reg

 

 

 

C. ลบเฉพาะการตั้งค่าของ Value data ด้วย File.reg

1. จาก (Pic 3.) ผมทดลองสร้าง New Value ขึ้นมาอย่างละ 1ค่า
2. ถ้าต้องการลบ เฉพาะการตั้งค่าใน Vale data ผมต้องเขียน Script ของ Value แต่ละชนิดตามนี้

"My BINARY"=hex:
"My STRING"=""
"My MUTISTRING"=hex(7):
"My EXPAN_STRING"=hex(2):
"My DWORD"=dword:00000000
"My QWORD"=
hex(b):
3. ถ้าต้องการลบ Value ทุกตัว ก็ให้ใส่เครื่องหมาย - ต่อท้ายเครื่องหมาย = แบบเดียวกับที่ผมอธิบายในข้อ B. ("Value Name"=-)




 

Delete Value data or Restore string(default)

 

D. คืนค่า และ ลบ Value data ของ String ที่ชื่อ (Default)

ดูตัวอย่าง(Pic 4.) ดูผิงเผิน วิธีการจะคล้ายกับการลบ String Value ที่เราสร้างขึ้นมาเอง แต่ถ้าอ้างตามกฎข้อ 2. ที่ผมเขียนไว้ข้างบนแล้ว การลบจะมีความหมายตามนี้ครับ
1. ผมทดลองใส่ค่า Valudata ของ String(Default) เป็น 1234
2. ถ้าผมเขียน Code เป็น @=- จะเป็นการ Restore(คืนค่า) ที่ช่อง Data Column จะกลับมาเป็น(Value not set) (หมายเลข 4.)
3. ถ้าผมเขียน Code เป็น @="" จะเป็นเพียงการลบค่าใน Value data ออกไปเท่านั้นครับ และ ที่ช่อง Data Column จะไม่แลดงข้อความอะไรเลย(หมายเลข 5.)
- และถ้าคุณทดลองลบการตั้งค่า ในช่อง Value data ของ String ที่ชื่อ (Default) จากข้างในโปรแกรม regedit ผลลัพธ์ที่ได้ ที่ช่อง Data Column ก็จะว่างแบบหมายเลข 5. เหมือนกัน



5Export file.reg
5Example: How to adaptation file.reg

หลักการทำงานของ Reg script กับ การพลิกแพลง เมื่อใช้งานจริง

- สคลิปที่คุณเห็นใน File.reg นั้น มันจะทำงานตามลำดับจากคำสั่งแรก ไล่ลงมาเรื่อยๆจนถึงคำสั่งสุดท้าย(บรรทัดสุดท้าย) หลักการมีอยู่แค่นี้ครับ ...แล้วบอกทำไมเนี่ย?
- ในการใช้งานจริง การควบคุม หรือ แก้ไข Registry ด้วย File.reg นั้น ส่วนใหญ่เรามักจะแก้ไขจาก File.reg ที่ได้จากการ Export มากกว่า และ เมื่อคุณรู้ถึงหลักการทำงานของ Reg script แล้ว คุณไม่จำเป็นต้องทำตามลูกสูตรแบบเปะๆ ในแบบที่ผมอธิบายมาทั้งหมดเสมอไป
มาดูตัวอย่างกัน(Pic 5.) ผมจะลบทุก Value ใน MyKeyLevel-1 โดยใช้คำสั่งลบ Key (แบบที่ผมอธิบายไว้ในข้อ A.)
1. ที่ MyKeyLevel-1 ผมคลิกขวา เลือก > Export ก็จะได้ File.reg แบบ หมายเลข 2.
3. จากนั้นผมใส่เครื่องหมาย - ด้านหน้าตำแหน่ง Key อย่างที่คุณเห็นในหมายเลข 3.
4. ผมทดลอง Import File.reg ที่ได้จากการแก้ไขในข้อ 3. ผลลัพธ์ที่ได้จะไม่ใช่การลบ MyKeyLevel-1 แต่จะเป็นการลบ Value ทั้งหมดที่มีอยู่ใน MyKeyLevel-1 แทน

คุณลองนึกสิครับว่า เหตุผลมันเป็นเพราะอะไร?...ถ้าตอบไม่ได้........ผมจะเฉลยซ้ำอีกครั้งก็ได้ว่า...เพราะ File.reg ทำงานตามลำดับ จากคำสั่งแรก จากนั้นก็ต่อไปที่คำสั่ง 2, 3, 4...จนจบบรรทัดสุดท้าย อย่างที่ผมบอกตั้งแต่ต้นไงครับ ดูหมายเลข 3.

- คำสั่งแรก(3.1) : เป็นคำสั่งลบ MyKeyLevel-1 เพราะฉนั้น Value และ Value data ที่อยู่ใน MyKeyLevel-1 ก็จะถูกลบตามไปด้วย จากนั้น File.reg ก็จะทำงานต่อไปในคำสั่งที่สอง 

- คำสั่งที่สอง (3.2) ความหมายก็คือ : ให้สร้าง MyKey Level-2(พร้อมกับสร้างReg_String ที่ชื่อ My_STRING) ให้อยู่ถัดลงมาจาก MyKey Level-1 อีกชั้น ผลลัพธ์ก็คือ MyKey Level-1 ถูกสร้างขึ้นมาอีกครั้งด้วยคำสั่งที่สองนี่เอง คุณสามารถพลิกแพลงการใช้งาน File.regไปได้มากกว่านี้ ครับ ที่ผมยกตัวอย่างมา เป็นเพียงส่วนหนึ่งเท่านั้นเอง
The Hunchback of NotreDame Funny animation.gif