CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  VCL组件使用和开发

怎么做开机自动运行的程序

楼主martian6125(小峰)2004-05-03 23:38:28 在 C++ Builder / VCL组件使用和开发 提问

大家好     请问怎么做开机时自动运行的程序     我知道得修改注册表     可得改哪里     怎么改     用什么函数   (   启动栏就算了) 问题点数: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

相关问题

  • 使程序开机自动运行
  • 如何用程序实现开机自动运行程序?
  • win2000下如何禁止某些程序开机自动运行?
  • 如何使编写的程序在开机时自动运行?
  • 急!请问如何开机自动运行更改wallpaper程序?
  • 怎样使程序在开机时自动启动运行????
  • 如何编定开机自动运行的程序
  • 如何在开机后使我的程序自动运行?
  • 如何让自已做的程序,开机自动运行
  • 在2000Server下,怎样让应用程序开机自动运行?

关键词

  • c++ builder
  • software
  • 系统
  • application
  • microsoft
  • exename
  • 注册表
  • reg
  • 程序
  • tregistry

得分解答快速导航

  • 帖主:martian6125
  • weixing979
  • COpyFRee
  • h98458
  • xjq2003

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo