成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Windows CE 6.0注冊表應用示例

開發
本文向您介紹Windows CE 6.0注冊表的一些應用,包括利用系統提供的注冊表類CRegistryEdit以及利用windows CE API等方法。

Windows CE 6.0有4個基本的注冊表鍵值, HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS。其它的都是這4個注冊表的子鍵。

我們以一個內建的串口驅動為例,它在注冊表文件Platform.reg中的描述如下: 其中Prefix 和 Dll項是必不可少的,Prefix代表設備文件名前綴, 與Index合用表示該設備的名稱,該注冊表子鍵的設備名稱就是"COM1:",該名稱可以用于CreateFile調用。Dll則是動態鏈接庫名稱。 Index為設備序號。Flags為1表示系統啟動時不加載,需要應用程序自己加載,為0表示該驅動在系統啟動時加載。

  1. [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial]  
  2.               "Prefix"="COM"  
  3.               "Dll"="$(_TGTPLAT_PFX)_serial.dll"  
  4.  
  5.               "Flags"=dword:0  
  6.               "Index"=dword:1 

在%WinCE Dir%Public%Common%OAK%INC%目錄下,文件cregedit.h中,定義了一個類CRegistryEdit來封裝了注冊表的操作。許多的硬件驅動,比如串口類,也繼承了CRegistryEdit類。

還有一種方法是利用windows CE提供的API進行注冊表項的操作。

方法一: 利用系統提供的注冊表類CRegistryEdit

類的定義在文件regedit.h中。   

在構建函數中,會取得當前注冊表子鍵的HANDLE句柄。有3個構造函數,第一個是用全路徑,調用hKey = OpenDeviceKey(TEXT("HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn\\Serial"))構造, 第二個是如果已知其父注冊表子鍵,調用RegOpenKeyEx( HKEY_LOCAL_MACHINE, TEXT("Drivers\\BuiltIn\\Serial"), 0,0,&hKey). 第三種方法是用RegCreateKeyEx().

析構函數中,調用RegCloseKey(hKey)關閉掉對注冊表子鍵的引用。

讀取注冊表項可以使用GetRegValue方法,寫入注冊表項使用RegSetValueEx方法。其方法的實現也是通過windows CE API,具體可以參照下一個Section。

RegGetList和RegSetList方法提供了對類型為REG_MULTI_SZ和DWORD的VALUE的讀寫操作。

其它類方法GetWindowInfo, GetIsrInfo,GetPciInfo獲取注冊表更多的信息。

方法二: 利用windows CE API

為了獲取一個注冊表鍵值,先要調用RegOpenKeyEx。以上面內建串口驅動為例,RegOpenKey( HKEY_LOCAL_MACHINE, TEXT("Drivers\\BuiltIn\\Serial"), 0, 0, &hKey ), 其中hKey就是我們獲取的該注冊表子鍵的HANDLE句柄。接下來對注冊表子鍵的操作就是通過hKey來實現.

有了hKey, 就可以對注冊表子鍵的各個內容進行讀寫操作。如果要讀去子鍵的Prefix, 調用函數RegQueryValueEx(hKey, TEXT("Prefix"), NULL, &lpType, &lpData, &lpcbData), lpType, lpData為Prefix返回類型和值,該例中,lpType = REG_SZ, lpData = TEXT("COM"). lpcbData當調用時,修飾限制lpData的size in bytes,返回時,為lpData返回值的SIZE。

對應于讀操作,寫操作是一個相反的過程,RegSetValueEx(hKey, TEXT("Prefix"), NULL, REG_SZ, PBYTE(TEXT("TST")), wcslen(TEXT("TST"))*2). 其中要寫入的項為Prefix項,類型為REG_SZ, 值為TEXT("TST"), 最后一個參數為寫入值得SIZE in bytes. 注意第二個參數,如果注冊表中存在該項,則改寫它的值。如果沒有,則新建一個注冊表項。

某些情況下,我們需要刪除一個注冊表項,只需調用RegDeleteKey(hKey, TEXT("Index"))就可以刪除Index注冊表項。

要關閉一個注冊表子鍵,只需要調用RegCloseKey(hKey)就可以完成。

關于注冊表有很多更加深入的使用,如RegEnumValue. 更多有關注冊表項,可以查看MSDN手冊。

 

【編輯推薦】

  1. Windows CE在嵌入式工業中的應用思考
  2. Windows CE下驅動開發基礎
  3. Windows CE異常和中斷服務程序初探
  4. Windows CE OAL層的結構與開發
  5. Windows CE中實現藍牙串口驅動程序
責任編輯:佚名 來源: 網絡學院
相關推薦

2011-08-01 16:52:42

Windows CE 嵌入式

2011-04-21 09:10:16

2017-08-09 16:24:46

2011-08-04 16:37:09

注冊表編輯器注冊表

2009-02-18 08:42:40

手動備份注冊表

2010-03-29 09:46:29

Windows 7關機加速

2011-08-03 18:01:40

注冊表

2011-06-03 10:34:32

2010-04-21 14:33:05

Windows注冊表

2009-05-28 14:11:05

Windows Emb

2011-09-15 10:36:49

注冊表windows7系統盤

2018-11-02 09:15:11

WindowsWindows 10注冊表

2009-07-16 15:13:17

Windows Emb

2011-06-03 10:34:22

arpWindows 200

2009-09-24 09:45:07

Windows Emb

2010-03-12 15:28:26

Windows Emb

2009-08-21 09:43:49

C#編輯注冊表

2011-08-04 16:04:09

注冊表

2019-07-07 09:20:02

Windows 10Windows備份注冊表

2009-06-15 09:56:22

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产乱码精品一区二区三区中文 | 精久久久 | 日韩久久久久久 | 国产激情视频在线 | 国产一区中文字幕 | 日韩欧美在线不卡 | 成人免费视频网站在线看 | 午夜激情在线视频 | 久久久久久国模大尺度人体 | 一本一道久久a久久精品综合蜜臀 | 无吗视频| 日韩久久综合网 | 欧美日韩中文字幕 | 日本久久福利 | 超碰日韩 | 亚洲国产激情 | 欧美激情一区二区 | 久久久91精品国产一区二区精品 | 国产福利小视频 | 久久久精品一区二区三区 | 久久久久久久av麻豆果冻 | 亚洲 成人 在线 | 国产黄色小视频在线观看 | 国产精品综合色区在线观看 | 欧美久久久久久 | 黑人一级片视频 | 欧美精品在线免费 | 午夜爽爽爽男女免费观看 | 国产福利资源在线 | 亚洲在线日韩 | 亚洲品质自拍视频网站 | 韩国主播午夜大尺度福利 | 日韩免费福利视频 | 懂色av色香蕉一区二区蜜桃 | 黄片毛片 | 日韩黄色小视频 | 国产高清免费 | 成人欧美一区二区 | 久久久精品视频免费看 | 亚洲精品一区二区三区蜜桃久 | 亚洲美女一区 |