-
-
[求助]关于注册表加载启动程序的一个奇怪的问题
-
发表于:
2009-4-9 10:52
4236
-
程序功能:记录开关机时间和上网时间,开机自动运行。
编写环境:VS2005,XP SP3,语言:VC++,MFC。
问题描述:程序启动后向程序当前目录下的record.log添加一字符串信息,记录程序启动时间。启动定时器,根据联网状态,周期性的记录联网时间。为了使程序能开机自动运行,程序启动时检测并向注册表的HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run中添加本程序的路径。奇怪的问题是:开机后,通过注册表可以让程序自动启动,虽然程序在运行,却不向record.log添加任何记录信息,不记录任何信息。查看任务管理器,程序的I/O也一直在不断进行,可record.log就是没有任何信息。
而如果不通过注册表启动,直接拷贝本程序的快捷方式到windows的“开始->所有程序->启动”目录下让程序自动运行,则程序表现正常,可以记录启动时间和联网时间。
程序中用来写文本信息的是CStdioFile类,到后来换成fstream类,都不行。
程序应该是没有错误,不知道是不是什么东西阻止了我的程序的读写操作。
后来又写了一个引导程序(也由注册表加载自动运行),通过引导程序来加载我要运行的程序,还是不行:无法读写文本文件信息。然后加入Sleep,让程序开机后休眠一段时间再运行也不行。
不知道各位有没有遇到过这个奇怪的问题。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)