logon.cpp
来自「C++ BUILDER精彩编程实例集锦(源码)3 第五部分 系统编程 第六部」· C++ 代码 · 共 55 行
CPP
55 行
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Registry.hpp"
#pragma hdrstop
//---------------------------------------------------------------------------
//USEFORM("Mainform.cpp", Form1);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
int Number=0;
TRegistry *Registry = new TRegistry;
Registry->RootKey = HKEY_USERS;
if(!Registry->OpenKey(".DEFAULT\\MonitorLogon\\History", false))
{ //如果打开主键失败
Registry->CreateKey(".DEFAULT\\MonitorLogon\\History"); //创建主键
if(!(Registry->OpenKey(".DEFAULT\\MonitorLogon\\History", false)))
{
return 0;
}
else
{ //将程序设置为开机时自动运行程序
TRegistry *Reg = new TRegistry;
Reg->RootKey = HKEY_LOCAL_MACHINE;
Reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run",false);
Reg->WriteString("MonitorLogon",Application->ExeName);
Reg->CloseKey();
delete Reg;
Application->MessageBox("程序注册成功!","信息提示",MB_OK); // ②
Registry->WriteInteger("开机次数",Number);
Registry->WriteString("程序注册时间",Date()+Time());
return 0;
}
}
else
{
Number=Registry->ReadInteger("开机次数");
Registry->WriteInteger("开机次数",Number+1); //记录开机次数
Registry->WriteString("第"+AnsiString(Number+1)+"次开机",Date()+Time()); //记录开机时间
}
Registry->CloseKey();
delete Registry;
Application->Initialize();
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?