用C++Builder为计算机增加启动日志

用C++Builder为计算机增加启动日志,第1张

用C++Builder为计算机增加启动日志,第2张

公共机房或办公室的电脑通常是大家共享的。作为经理或“主要”用户,他们想知道机器何时被打开和使用。如果有启动记录,他们可以随时了解这些情况。本文介绍了如何使用C++ Builder 5编写这样一个程序,使程序在计算机每次启动时都能被执行,并把启动时间等信息记录在注册表中,以便随时被注册表编辑器查看。程序特点:电脑每次开机都要执行一次(此功能由本程序自动完成,无需手动添加到注册表中,只需运行一次)。为了增加隐蔽性,这个程序是在后台运行的无窗口程序。

编程要点:

1.在C++ Builder 5环境下新建一个项目文件:执行菜单命令File/New Application,然后将项目文件另存为“Logon.bpr”。

2.执行菜单命令项目/查看源代码,打开Logon.cpp文件,并更改

USEFORM("Unit1.cpp ",form 1);

应用->CreateForm(__classid(Tform1),& form 1);

删除两条语句,创建一个无形式的程序。

3.Logon.cpp文件的完整代码如下:

#include
#include //添加一行
# pragma HDR stop
useres(" logon . RES ");
winapi winmain (hint,hint,lpstr,int)
{
try
{//Add part start
int num = 0;
t Registry * Registry = new t Registry;//创建注册表堆对象指针
注册表-> rootkey = HKEY _用户;//如果(!注册表-> openkey("。default \ \ logon \ \ records ",false))
{/如果打开主键失败
registry-> createkey("。默认\ \登录\ \记录”);//创建主键
if(!(注册表->OpenKey(。默认\Logon\Records”,false)))
返回0;
else
{
t registry * Reg = new t registry;//①
Reg-> RootKey = HKEY _ LOCAL _ MACHINE;
Reg--> open key(" Software \ \ Microsoft \ \ Windows \ \ current version \ \ Run ",false);
Reg->WriteString("Logon ",Application-> ExeName);//在注册表
Reg->CloseKey()中注册这个程序;
删除Reg
应用->MessageBox("登录程序注册成功!",“结果”,MB _ OK);//②
注册表-> Write integer ("boot times ",num);
Registry->WriteString("程序注册时间",Date()+Time());
返回0;
}
}
else
{
num = registry-> readinteger(" boot times ");//③
Registry-> Write integer(" boot times ",num+1);//记录启动次数
Registry-> WriteString(" the first " +++ansi string(num+1)+1)+" boot times ",Date()+Time());//记录启动时间
}
Registry-> close key();
删除注册表;
//添加部分结束
应用-> Initialize();
应用->运行();
}
catch(Exception & Exception)
{
Application-> show Exception(& Exception);
}
返回0;
}


应用程序:

用这种方法,将上述相关代码移植到其他C++ Builder应用程序中,通过读写注册表来限制程序的使用,比如限制程序的使用次数为30次,只要在上述代码③中添加一条if语句即可。

If (num = = 30)
{
应用-> messagebox("此程序已使用30次,即将退出!!",“警告:“,MB _ OK);
返回0;
}

可以(删除①到②行的句段)写应用的限制版。当然,你也可以考虑时间限制,只要“权限”隐藏在注册表中。

要生成一个单独的EXE文件,应该激活项目/选项…菜单项,去掉标签“链接器”下的“使用动态RTL”选项,去掉标签“包”下的“用运行时包构建”选项。将该文件的Logon.exe复制到需要录制的机器上的固定文件夹(如windows文件夹)中,执行一次,完成节目的注册。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 用C++Builder为计算机增加启动日志

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情