怎么做开机自动运行的程序
大家好 请问怎么做开机时自动运行的程序 我知道得修改注册表 可得改哪里 怎么改 用什么函数 ( 启动栏就算了) 问题点数:20、回复次数:6Top
1 楼weixing979(★★★闪电侠★★★)回复于 2004-05-04 00:08:36 得分 5
#include <registry.hpp>
TRegistry *Reg=new TRegistry;
Reg->RootKey=HKEY_LOCAL_MACHINE;
Reg->OpenKey("\\Software\\Microsoft\\Windows\\CurrentVersion\\Run",true);
Reg->WriteString("autorun",Application->ExeName);
Reg->CloseKey();
delete Reg;
写入注册表Top
2 楼COpyFRee(NULL)回复于 2004-05-09 14:02:27 得分 5
再来一个用API 的:
HKEY hKey;
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"),0,KEY_ALL_ACCESS,&hKey) == 0)
{
RegSetValueEx(hKey,"MyApp",0,REG_SZ, Application->ExeName, Application->ExeName.Length());
RegCloseKey(hKey);
}
else
{
ShowMessage("打开注册表时发生异常错误!");
}
Top
3 楼h98458(零点起飞)回复于 2004-05-09 15:32:35 得分 5
关键在于对Win.ini的读写。Win.ini为WINDOWS启动时初始配置文件,
存放在系统目录下。系统目录可以在注册表HKEY_LOCAL_MACHINE \SOFTWARE\Windows\CurrentVersion下,
通过读取SystemRoot值得到。程序自身的存放路径可以利用C++ Builder3中Application类的ExeName
变量得到。使用C++ Builder3提供的TIniFile类,我们可以十分方便地对INI文件进行操作。程序如下:
TRegister *Test;
TIniFile *IniFile;
Test = new TRegister();
Test->RootKey = HKEY_LOCAL_MACHINE;
if(Test->OpenKey("SOFTWARE\\Windows\\CurrentVersion",false))
Path = Test->ReadString("SystemRoot"); //获得WINDOWS系统目录
delete Test;
Path = Path + "\\Win.ini"; //获得Win.ini的完整路径
IniFile = new TIniFile(Path);
IniFile->WriteString("windows","run",Application->ExeName);
// run = 执行文件名
delete IniFile;
Top
4 楼xjq2003(xjq2003)回复于 2004-05-09 16:16:51 得分 5
#include <registry.hpp>
TRegistry *Reg=new TRegistry;
Reg->RootKey=HKEY_LOCAL_MACHINE;
Reg->OpenKey("\\Software\\Microsoft\\Windows\\CurrentVersion\\Run",true);
Reg->WriteString("autorun",Application->ExeName);
Reg->CloseKey();
delete Reg;
写入注册表
Top
5 楼wrmfwtomcom(为人民服务:))回复于 2004-05-09 16:23:09 得分 0
修改win.ini文件更简单一些
Top
6 楼qiuafa()回复于 2004-05-09 17:22:27 得分 0
该问题已经结贴 ,得分记录: (20)、
------------------------------------------------------------------------------------
Top




