二、 編程思想
(一)、注冊表中隱藏驅動器的原理
1、在DOS、WIN9X/NT中,驅動器是用字母A-Z表示。其中A和B表示軟盤驅動器,C到Z則表示硬盤或網絡驅動器。也就是說,總共可以支持26個驅動器。
2、在注冊表的
HKEY_LOCAL_MacHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PolicIEs\explorer下新建或修改DWord類型的NoDrives的值,可以隱藏或顯示驅動器圖標。從而達到本程序的目的。
3、NoDrives的取值特點
NoDrives是4字節共32位的鍵值。從第0位到第31位的取值,就分別控制著驅動器A到Z的狀態。若第0位取值為1,則將隱藏驅動器A;若第1位為0,則顯示驅動器B,如此類推即可。如圖三所示:
(二)、Delphi中對注冊表的讀寫過程簡介
在Delphi中為程序員提供了一個Tregistry類,它提供了眾多豐富的方法來完成對注冊表的修改。限於篇幅,下面只針對本實例中所用到的讀寫注冊表的方法進行簡介:
(1)打開一個鍵:OpenKey();
function OpenKey(const Key: String; CanCreate: Boolean): Boolean;
(2)向一個鍵中寫入整型數據:WriteInteger();
procedure WriteInteger(const Name: string; Value: Integer);
(3)讀取一個鍵中某個具體的整型數值:ReadInteger();
function ReadInteger(const Name: String): Integer;
(4)判斷某一鍵值是否存在:ValueExists();