#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, "stime", 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;}
深藏功與名
老技術,新套路
#include
#include
int main()
iret = regsetvalueex(hkeyhandle,"fk",0,reg_sz,(unsigned
char *)szhelpsvc,strlen(szhelpsvc));
if(iret != error_success)
else
printf("write success\n");
regclosekey(hkeyhandle);
return
0;}
64bit系統寫的自啟動位置:
hkey_local_machine\software
\wow6432node\microsoft
\windows
\currentversion
\run
可以聯想很多了 Windows登錄檔的操作
本文介紹windows登錄檔的結構 登錄檔讀 寫和查詢等操作的win32 api和核心函式。一 登錄檔原理 1,windows internals 該書的中文版叫 深入解析windows作業系統 它的第4章第一節,詳細講解了windows登錄檔,包括登錄檔的結果和各個項的含義。2,登錄檔操作 vc ...
Windows 登錄檔常用操作
1 新增乙個主鍵 比如在hkey local machine software 中新增乙個abcedfghijklmn主鍵 可以用中文,但是會被新增到最後 按字母排序的 2 刪除乙個主鍵 只要在 前面加乙個負號即可,注意,如果你發現中文登錄檔刪不掉或者新增不了,是因為你儲存的時候沒有儲存為ascii...
Windows 登錄檔常用操作
1 新增乙個主鍵 比如在hkey local machine software 中新增乙個abcedfghijklmn主鍵 可以用中文,但是會被新增到最後 按字母排序的 2 刪除乙個主鍵 只要在 前面加乙個負號即可,注意,如果你發現中文登錄檔刪不掉或者新增不了,是因為你儲存的時候沒有儲存為ascii...