當前位置:編程學習大全網 - 源碼下載 - Delphi編程訪問註冊表(二)

Delphi編程訪問註冊表(二)

 二 編程思想

 (壹) 註冊表中隱藏驅動器的原理

  在DOS WIN X/NT中 驅動器是用字母A Z表示 其中A和B表示軟盤驅動器 C到Z則表示硬盤或網絡驅動器 也就是說 總***可以支持 個驅動器

  在註冊表的

 HKEY_LOCAL_MACHINE\SOFARE\Microsoft\Windows\CurrentVersion\Policies\explorer下新建或修改DWORD類型的NoDrives的值 可以隱藏或顯示驅動器圖標 從而達到本程序的目的

  NoDrives的取值特點

 NoDrives是 字節*** 位的鍵值 從第 位到第 位的取值 就分別控制著驅動器A到Z的狀態 若第 位取值為 則將隱藏驅動器A 若第 位為 則顯示驅動器B 如此類推即可 如圖三所示

圖三

 (二) DelPhi中對註冊表的讀寫過程簡介

 在DelPhi中為程序員提供了壹個Tregistry類 它提供了眾多豐富的方法來完成對註冊表的修改 限於篇幅 下面只針對本實例中所用到的讀寫註冊表的方法進行簡介

 ( )打開壹個鍵 OpenKey()

 function OpenKey(const Key: String; CanCreate: Boolean): Boolean;

 ( )向壹個鍵中寫入整型數據 WriteInteger()

 procedure WriteInteger(const Name: string; Value: Integer);

 ( )讀取壹個鍵中某個具體的整型數值 ReadInteger()

 function ReadInteger(const Name: String): Integer;

 ( )判斷某壹鍵值是否存在 ValueExists()

 function ValueExists(const Name: string): Boolean;

 ( )關閉壹個鍵 CloseKey

 procedure CloseKey;

 (三) 設計方法(分為註冊表的讀寫兩部分)

  隱藏 按鈕中代碼的設計思想(註冊表的寫操作)

 ( ) 當用戶單擊 隱藏 按鈕時 就利用OpenKey方法打開註冊表的 HKEY_LOCAL_MACHINE\SOFARE\Microsoft\Windows\CurrentVersion\Policies\explorer 判斷其下是否存在 NoDrives 鍵 若此鍵不存在 就自動建立它 然後 根據用戶選擇的選擇修改 NoDrives 的值 用戶的選擇和NoDrives的值對應關系如下 用戶選擇 A驅 則NoDrives的值為

 用戶選擇 B驅 則NoDrives的值為

 用戶同時選擇 A驅 和 B驅 則NoDrives的值為

 ( ) 根據用戶的選擇 利用方法WriteInteger() 將NoDrives的值寫入註冊表

 ( ) 利用CloseKey關閉打開的主鍵

  (註冊表的讀操作)為了實現程序啟動時能自動判斷系統驅動器的當前狀態 還要在Form 的FormCreate()方法中利用ReadInteger()和ValueExists()讀取註冊表中NoDrives的值 然後根據讀出的NoDrives的值設置窗體上兩個復選的選擇狀態 NoDrives的值與復選框的狀態對應關系如下

 NoDrives的值為 則窗體上 A驅 復選框處於選中狀態

 NoDrives的值為 則窗體上 B驅 復選框處於選中狀態

lishixinzhi/Article/program/Delphi/201311/8548

  • 上一篇:如何防止自己的遊戲被侵入和黑客攻擊
  • 下一篇:三大器(裝飾器,叠代器,生成器)
  • copyright 2024編程學習大全網