选择显示字体大小

用c++ builder为计算机增加启动日志

程序特点

每次启动计算机都要执行一次(这一功能由本程序自动完成而不必手工在注册表中添加,只需运行一次程序即可),为增加隐蔽性,该程序为后台运行的无窗体程序。



编程要点

1. 在c++ builder 5环境中建立新工程文件:执行菜单命令file/new application,然后将工程文件另存为“logon.bpr”。

2. 执行菜单命令project/view source,打开logon.cpp文件,将其中的

useform(“unit1.cpp”, form1);



application->createform(__classid(tform1), &form1);

两条语句删除,目的是创建无窗体程序。

3. 文件logon.cpp的全部代码如下:

#include

#include //添加行

#pragma hdrstop

useres("logon.res");

winapi winmain(hinstance, hinstance, lpstr, int)

{

try

{ //添加部分开始

int num=0;

tregistry *registry = new tregistry; //创建注册表堆对象指针

registry->rootkey = hkey_users; //定位注册表根键

if(!registry->openkey(".default\\logon\\records", false))

{ //如果打开主键失败

registry->createkey(".default\\logon\\records"); //创建主键

if(!(registry->openkey(".default\\logon\\records", false)))

return 0;

else

{

tregistry *reg = new tregistry; // ①

reg->rootkey = hkey_local_machine;

reg->openkey("software\\microsoft\\windows\\currentversion\\run",false);

reg->writestring("logon",application->exename); //在注册表中注册本程序

reg->closekey();

delete reg;

application->messagebox("登录程序注册成功!","结果",mb_ok); // ②

registry->writeinteger("开机次数",num);

registry->writestring("程序注册时间",date()+time());

return 0;

}

}

else

{

num = registry->readinteger("开机次数"); // ③

registry->writeinteger("开机次数",num+1); //记录开机次数

registry->writestring("第"+ansistring(num+1)+"次开机",date()+time()); //记录开机时间

}

registry->closekey();

delete registry;

//添加部分结束

application->initialize();

application->run();

}

catch (exception &exception)

{

application->showexception(&exception);

}

return 0;

}

应用

利用此法,将上述相关代码移植到其它c++ builder应用程序中,通过读写注册表对程序的使用加以限制,比如限制使用程序次数:30次,只要在上述代码③处增加一条if语句

if(num==30)

{

application->messagebox(“本程序已经使用30次,将要退出!!”, “警告:”, mb_ok);

return 0;

}

即可(删除①到②行的语句段),编写限制版的应用程序。当然也可以考虑对时间的限制,这只要在注册表中暗设“机关”就行。

为了生成单独的exe文件,应激活project/options…菜单项,去掉标签“linker”下的“use dynamic rtl”选项,同时去掉“packages”标签下的“build with runtime packages”选项。将此文件logon.exe复制到需要记录的机器上的一个固定的文件夹中(比如,windows文件夹),执行一次即可完成程序的注册。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons