#pragma warning(disable:4996)
#define _CRT_SECURE_NO_WARNINGS
#include <afx.h>
#include <Windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <synchapi.h>
#include <iostream>
#include <atlstr.h>
#include <time.h>
using namespace std;
BOOL SetHeartBeatLastTime(INT64 nTime)
{
CRegKey key;
WCHAR wzTime[MAX_PATH] = {};
_i64tow(nTime, wzTime, 10);
if (ERROR_SUCCESS == key.Create(HKEY_LOCAL_MACHINE, L"SOFTWARE\\My\\MyEntConf"))
{
key.SetStringValue(L"Time", wzTime);
key.Close();
printf("设置注册表标记[Time]成功, value: %s", wzTime);
}
else
{
printf("设置注册表标记[Time]失败, GLE: %d", GetLastError());
}
return TRUE;
}
INT64 GetHeartBeatLastTime()
{
CRegKey key;
WCHAR wzTime[MAX_PATH] = {};
DWORD len = MAX_PATH;
if (ERROR_SUCCESS == key.Open(HKEY_LOCAL_MACHINE, L"SOFTWARE\\My\\MyEntConf"))
{
if (ERROR_SUCCESS != key.QueryStringValue(L"Time", wzTime, &len))
{
printf("获取注册表标记[Time]失败, GLE: %d", GetLastError());
return -1;
}
key.Close();
printf("获取注册表标记[Time]成功, value: %s", wzTime);
}
else
{
printf("获取注册表标记[Time]失败, GLE: %d", GetLastError());
return -1;
}
return _wtoi64(wzTime);
}
int main()
{
//获得当前时间戳
INT64 nTime = time((time_t*)NULL);
INT64 nTime2 = 0;
SetHeartBeatLastTime(nTime);
nTime2 = GetHeartBeatLastTime();
system("pause");
return 0;
}
Windows ATL CRegKey 操作
最新推荐文章于 2024-07-22 23:28:27 发布