 |
Win 95及NT的注册数据库(Registry)是系统中非常重要的组成部分。在Win32 API中有一组Reg函数来处理这些问题。其一般的读写过程如下:
1、使用RegOpenKeyEx或RegCreateKeyEx函数打开或创建一个键;
2、如果上一步成功,使用RegQueryValueEx读取子键的值,使用RegSetValueEx设置子键值,使用RegEnumKey获得所有子键,使用RegDeleteKey删除一个键;
3、完成操作后使用RegCloseKey关闭键。
下面这段程序打开HKEY_CURRENT_USER\Software\Zeal SoftStudio\AskPro FTP\LastTime键,然后读取WOL子键的值。
HKEY hkey;
char sz[256];
DWORD dwtype, sl = 256;
RegOpenKeyEx(HKEY_CURRENT_USER,
"Software\\Zeal SoftStudio\\AskPro FTP\\LastTime",
NULL, KEY_ALL_ACCESS, &hkey);
RegQueryValueEx(hkey, "WOL", NULL, &dwtype, (LPBYTE)sz, &sl);
RegCloseKey(hkey);
MFC程序可以使用CRegKey类读写注册表。
VB中调用API的办法可以参考QA000226 "如何访问Windows系统注册表"。
realhaker的意见:
如用VB,选择 '工程' > '引用',选中"windows script host object model"
然后:
Public wsh As New WshShell
wsh.RegDelete(...)
wsh.RegWrite(...)
wsh.RegRead(...)
相关问题:
QA003488 "如何在Foxpro里访问注册表"
QA004602 "怎样查询注册表中的(默认)项"
此问题由李海回答。
附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, Windows API, win32, api, windows api, gdi32, kernel。
|