January 12, 2005 12: 00:56RegQueryValueex first all over the length of the key value, the second time
CString_CPRTSTAMP :: LoadRegistryStampsz (CString Szsubkey)
{
HKEY HKEY = NULL;
// レジ ト キ キ キ ハ ド ド ド DWORD LPCBDATA;
// 値 デ デ タ サ ズ ズ
DWORD LPTYPE;
Cstring szvalue;
Long NSTATUS;
// レジ レジ ト オ オ ペ ペ す
NSTATUS = RegcreateKeyex (HKEY_CURRENT_USER,
REG_STAMP_CONTENT_SUBKEY, // reg_stamp_subkey,
0,
NULL,
REG_OPTION_NON_VOLATILE,
Key_Query_Value,
NULL,
& HKey,
NULL);
IF (NSTATUS! = Error_Success)
{
RegcloseKey (HKEY);
""; "
}
NSTATUS = RegQueryValueex (HKEY, SZSUBKKKKKEY, NULL, NULL, NULL, & LPCBDATA);
IF (NSTATUS! = Error_Success)
{
RegcloseKey (HKEY);
""; "
}
NSTATUS = RegQueryValueex (HKEY, SZSUBKEY, NULL, & LPTYPE, (LPBYTE) Szvalue.getBuffer (LPCBDATA), & lpcbdata
IF (NSTATUS! = Error_Success)
{
RegcloseKey (HKEY);
""; "
}
RegcloseKey (HKEY);
Return szvalue;
}
Save Registry DWORD
Void_CPRTSTAMP :: SaveRegistryStamp (CString Szsubkey, DWORD DWVALUE)
{
HKEY HKEY = NULL;
// レジ ト ト キ キ ハ ハ ド ド ド
DWORD CBDATA = SIZEOF (DWORD);
// 値 デ デ タ サ ズ ズ long nstatus;
// レジ レジ ト オ オ ペ ペ す
NSTATUS = RegcreateKeyex (HKEY_CURRENT_USER,
REG_STAMP_SUBKEY,
0,
NULL,
REG_OPTION_NON_VOLATILE,
Key_all_access,
NULL,
& HKey,
NULL);
IF (NSTATUS! = Error_Success)
{
Return;
}
NSTATUS = RegSetValueex (HKEY, SZSUBKEY, 0, REG_DWORD, (LPBYTE) & DWVALUE, CBDATA);
RegcloseKey (HKEY);
}