//windows操作登錄檔api簡單例子
//操作登錄檔主要包括下面幾個系統api
//1、regopenkeyex 開啟登錄檔項
//2、regclosekey 關閉登錄檔項
//3、regcreatekeyex 建立登錄檔項
//4、regdeletekey 刪除登錄檔項
//5、regqueryvalueex 讀取登錄檔鍵值
//6、regsetvalueex 寫入登錄檔鍵值
// 測試**:
#include #include #include #include int main(int argc, char *argv)
} // 取當前時間
char sztime[32];
time_t timenow = 0;
time(&timenow);
struct tm tmnow;
errno_t err = 0;
// 取系統時區對應的當地時間
err = localtime_s(&tmnow, &timenow);
if(err == 0) }
// 讀取登錄檔鍵值:時間
dword dwtype = reg_sz; // 字串值型別
dword dwlen = sizeof(sztime);
memset(sztime, 0, sizeof(sztime));
lret = ::regqueryvalueex(hkeyprog, "time", 0, &dwtype, (lpbyte)sztime, &dwlen);
if(lret != error_success)
printf("time:%s\n", sztime);
// 關閉登錄檔程序項
lret = ::regclosekey(hkeyprog);
if(lret != error_success)
printf("----------create key and write string----------\n");
sleep(5000);
hkey hkeytest = null;
// 開啟登錄檔test項
lret = ::regopenkeyex(hkey_classes_root, "test", 0, key_all_access, &hkeytest);
if(lret != error_success)
memset(szprocesskey, 0, sizeof(szprocesskey));
_snprintf_s(szprocesskey, sizeof(szprocesskey), "%u", dwprocessid);
// 刪除登錄檔程序項(注意刪除項的下面不能再有其他項,否則不能刪除)
lret = ::regdeletekey(hkeytest, (const char *)szprocesskey);
if(lret != error_success)
// 關閉登錄檔test項
lret = ::regclosekey(hkeytest);
if(lret != error_success)
printf("----------delete key----------\n");
system("pause");
return 0;
}
登錄檔操作 API
1 regopenkey 開啟登錄檔 2 regsetvalueex 設定登錄檔鍵值和鍵型別 3 regdeletevalue 刪除登錄檔 4 regclosekey 關閉登錄檔 long regsetvalueex hkey hkey,lpctstr lpvaluename,dword reser...
windows登錄檔操作
include include include include int main int argc,char argv 取當前時間 char sztime 32 time t timenow 0 time timenow struct tm tmnow errno t err 0 取系統時區對應的當...
Windows登錄檔的操作
本文介紹windows登錄檔的結構 登錄檔讀 寫和查詢等操作的win32 api和核心函式。一 登錄檔原理 1,windows internals 該書的中文版叫 深入解析windows作業系統 它的第4章第一節,詳細講解了windows登錄檔,包括登錄檔的結果和各個項的含義。2,登錄檔操作 vc ...