在C++ Builder3下实现程序自动运行的方法

C++ Builder开发AutoCAD应用程序的方法 阅读详情
---- 现在很多应用软件安装后都可以实现开机自动运行,大大方便了用户使用。想当初我就对这项功能羡慕至极。能否在我们自己编写的程序中实现程序自动运行呢?答案当然是肯定的。利用Borland公司出品的C++ Builder3我们就可以很方便地做到这一点。

---- C++ Builder3是由Borland公司于近年推出的新产品,支持可视化设计。喜欢使用BC3.1的人使用C++ Builder3真是轻车熟路。它的断点调试以及Watch功能都承袭了BC3.1的优良传统,调试程序很方便。众多热键都沿用了BC3.1的方案,上手十分容易。难怪它在测试阶段就获得了众多媒体的好评呢!有了好的开发工具,下面就要切入正题了。首先,我们来看看在Windows95、98环境下,程序实现开机自动运行的方法。根据有关资料,大致有以下三种方法:

---- 1、利用"开始"菜单中的"启动"程序项。凡是拖入该程序项的程序都可以实现自动运行。

---- 2、利用Win.ini文件中的run变量。编辑Win.ini,为run变量赋值。如run= 某程序,可以使某程序实现自动运行。

---- 3、利用注册表。通过修改注册表中相关项,实现程序自动运行。

---- 看上去,第一种方法是最容易实现的。由于所谓的"开始"程序菜单实际上是一个特殊目录下的特殊文件。其目录一般在C:/ Windows / Start Menu / Programs下。"启动"程序项的目录一般为C:/ Windows / Start Menu / Programs / 启动。这样程序只要在把自身拷贝到此目录下就可以实现程序自动运行了。然而这里有个问题,如果出现特殊情况,"启动"程序项的目录不在理想目录下呢?自动运行显然无法实现了。要解决这个问题,我们可以利用注册表得到有关信息。在注册表HKEY_USERS/.Default/Software/Microsoft/Windows/ CurrentVersion/Explorer/Shell Folders下,读取Startup项的值就可以知道"启动"程序项的准确目录了。对于注册表的操作,C++ Builder3提供了TRegister类,使用十分方便。关于TRegister类的具体介绍,大家可以参考C++ Builder3的在线帮助,这里就不多阐述了。程序如下:

TRegister  *Test;
Test = new TRegister();
Test->RootKey = HKEY_USERS;
  if(Test->OpenKey(".Default//Software//Microsoft/  Windows//CurrentVersion//Explorer//Shell Folders",false))
Path = Test->ReadString("Startup");    //获得"启动"程序项准确目录
delete Test;
---- 对于第二种方法,关键在于对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;
 
---- 对于第三种方法,实现起来最为隐蔽。如果不了解注册表,想去掉自动执行都不行哦。在注册表HKEY_LOCAL_MACHINE /SOFTWARE / Microsoft / Windows / CurrentVersion /Run下的所有程序项都可以被WINDOWS自动执行。因此,我们可以通过添加新程序项实现自动执行功能。程序如下:
TRegister  *Test;
Test = new TRegistry();
Test->RootKey = HKEY_LOCAL_MACHINE;
if(Test->OpenKey("SOFTWARE//Microsoft/Windows//CurrentVersion//Run",false))
Test->WriteString("My Program",Application->ExeName);
delete Test;

---- 怎么样?用C++ Builder3实现程序自动运行够简单的吧。利用C++ Builder3的TRegister类,我们可以方便地实现对注册表的读写,从而完成很多强大功能。使用TIniFile类可以很容易地实现对INI文件的读写操作,对于保存自己程序的配置相当有效。自己动手用C++ Builder3编程,感觉真不错!

方志红 王玮(华东电子工程研究所)
使用 C++ Builder 创建应用程序 3.1 创建应用程序 C++Builder的主要用途于设计创建Windows应用程序。有三种基本的Windows应用程序: · WindowsGUI应用程序。 · 控制面板应用程序。 · 服务应用程序。     3.1 创建应用程序     C++Builder的主要用途于设计创建Windows应用程序。有三种基本的Windows应用程序: · WindowsGUI应用程序。 · 阅读详情

相关推荐

基于C++ Builder 5的Socket组件实现的聊天程序(一)

康康的专栏 2042

Borland C++Builder 3 VS Delphi 3

自从Borland推出了Borland C++ Builder之后,许多人时常会询问BCB和Delphi有什么不同?除了使用的语言(C/C++ v.s. Object Pascal)之外,是不是都一样?也有人经 常会不满的指出,是不是BCB 一定会在功能上落后Delphi一个版本,那么使用BCB的人比 起Delphi 的程序员来说,是不是代表全用BCB的人是二等公民.说实话在BCB ...

huang714的专栏 797

C++Builder开发的U盘管理程序

C++Builder,这个在C++开发领域享有盛誉的集成开发环境(IDE),自1993年首次发布以来,经历了多次重大的版本更新和功能改进。从最初的版本到现在,C++Builder已经演化为一个功能全面、性能卓越的现代化开发工具。

weixin_34392511的博客 983

在C++ Builder中实现程序自动运行

要实现程序开机自动运行,可以通过在注册表相应位置添加键值来实现,下面介绍在C++ Builder中如何操作。要操作注册表,首先要包含头文件Registry.hpp,同时,要在HKEY_LOCAL_MACHINE//Software//Microsoft//Windows//Current/Version//Run中添加程序的路径与文件名。编写regrun.cpp文件如下/*  实现程序

湛蓝水晶的专栏 2079

用C++Builder创建应用程序启动窗口.pdf

用C++Builder创建应用程序启动窗口 实用的编程技巧

bc31使用说明

美国Borland公司的经典产品BC3.1是一套应用于x86系列CPU平台支持C/C++及汇编编程的集成开发调试软件工具BC3.1自推出以来就以它卓越的编译性能及简单明了的操作界面获得了巨大的成功深受世界各地广大开发工程师的喜爱在当时的PC/DOS环境风靡一时时至嵌入式系统的兴起BC3.1则成为x86系列嵌入式产品开发中的重要工具之一如著名的uCOS-II多任务操作系统的基本版本就是采用BC来编译的本文将针对基于英创嵌入式网络模块的应用程序的开发特点对BC3.1的使用作一基本的使用介绍以让广大的开发工程师能分享BC3.1为我们带来的高效与便捷。

C++Builder的基本功能

C++Builder的基本功能 我们用高级语言写程序,我们很得意,因为高级语言比较接近人类的语言,使我们用起来得心应手,所以我们当然得意。但我们更得意的一定是让程序代码赶快变成可执行文件。 无论是在写代码的过程,还是最后要编译成可执行文件,都需要有一个工具存在。这一工具一般称为编程集成环境(IDE)。...

huang714的专栏 1万+

Vue 实现华视身份证读卡器功能

在www.downcc.com下载“华视cvr100驱动”安装程序; 华视电子官网有相应的文档说明和程序下载 一、服务安装 选择安装目录: 启动读卡服务: 安装成功会有如图所示: 注意事项: 安装开发包必须使用管理员权限,因为windows服务和读卡器设备驱动程序均需要管理员权限,否则会安装失败。 win10需要修改组策略才有管理员权限。 二、服务的使用 打开浏览器,输入地址http://127.0.0.1:19196/mainpage,回车 点击openDevice: 点.

zyqgt960812的博客 6503

在C++ Builder3下实现程序自动运行的方法 (转)

在C++ Builder3下实现程序自动运行的方法 (转)[@more@] ...

csd3176的博客 141

解决西门子Step 7 basic 找不到许可证问题

你在使用博图软件是否遇到过Step 7 basic 找不到许可证的问题呢!不言怕,今天我就来告诉你该如何处理吧!看步骤: 1.删除原授权的License: 打开Automation License Manager应用,然后我们可以发现仅有的License Key前面有一个时钟,说明它已经过期不可用,我们就要去寻求新的Key. 打开“我的电脑”,选择C盘,点击上方查看 点击选项–>查看 然...

让技术没有门槛 14万+

解决windows10下无法安装.net framework 3.5(包括.net2.0和3.0)

入域电脑,win10系统中安装 .net framework 3.5(包括.net2.0和3.0)

God_me_1的博客 4万+

Windows 上交叉编译 arm64 deb 包:WSL 环境搭建与打包全流程

交叉编译是指在一个平台上生成另一个平台可执行代码的技术,其核心在于通过工具链指定目标架构,确保二进制文件在目标设备上正确运行。在嵌入式开发和国产化终端部署中,arm64 架构的 deb 包是 Debian 系系统的标准安装格式。掌握交叉编译与 deb 打包技术,能显著提升部署效率,避免在资源受限的板子上直接编译。典型应用场景包括为 arm64 开发板、云上 arm 实例批量部署自研服务。本文围绕 Windows 环境下利用 WSL 搭建 arm64 交叉编译环境,详细讲解从源码编译到 deb 包生成、依赖声

cuiji1279的博客 415

PYNQ-Z2 开发板从镜像烧录到 Jupyter 交互全流程指南

本文详细介绍了PYNQ-Z2开发板从镜像烧录到Jupyter交互的全流程指南,包括硬件解析、镜像烧录技巧、设备启动与网络配置、Jupyter Notebook深度使用以及实战案例分享。通过具体步骤和实用技巧,帮助开发者快速上手PYNQ-Z2开发板,实现高效的FPGA开发和智能家居控制应用。

weixin_28736355的博客 440

[导入]在C++ Builder3下实现程序自动运行的方法

文章来源:http://blog.youkuaiyun.com/nm/archive/2000/08/10/4403.aspx 转载于:https://www.cnblogs.com/zhaoxiaoyang2/archive/2000/08/10/816562.html

weixin_30445169的博客 103

Oracle数据库安装图文教程 附百度云oracle Database 11g 安装包

一,Oracle数据库安装包下载 1.从Oracle官网下载所需的数据库安装包【下载需要注册登录Oracle账户】     http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 2.此处有下载好的Oracle Database 11g Release 2  百度云网盘  提取码:z...

向来如此,就一定是对的吗 6万+

Open3D——点云构建Delaunay三角网【2026最新版】

点云构建Delaunay三角网

点云侠的博客 8368

C++Builder 资料库

1.怎样在C++Builder中创建使用DLL 2.用C++Bulider在WIN.INI中保存信息 3.如何在C++Builder中检测硬件 4.C++Builder如何响应消息及自定义消息 5.利用C++ Builder开发动画DLL 6.用C++ Builder 3制作屏幕保护程序 7.TCP/IP头格式 8.UDP 9.判断windows的Desktop及其它目录 10用C++Builde

chiengod(钱神爷)的专栏 2万+

RAG面试内容整理-8. 文档分块策略(滑动窗口、语义切分)

RAG系统通常面对长文档或整篇知识库资料的检索需求,但大模型一次处理的文本长度有限,向量索引也需固定大小的文本片段。因此,将长文档拆分成合适片段是必不可少的步骤,被称为文档分块(chunking)策略。

不务正业的猿 691

[C++] 用 C++ Builder 实现 Word 97 自动化

用C++Builder实现Word 97自动化  ----要在应用程序中控制Word 97的运行,首先必须在编制自动化客户程序时使其头文件中包含文件ComObj.hpp,写入#include。编程工具C++Builder的开发者把调用Word 97自动化对象的功能大致包装成了几个Ole object class函数,应用程序设计人员可以很方便地利用它们。 *设定Ole对象的属性:     

shine的现在进行时 1525

电源完整性分析:PDN阻抗与去耦电容设计——目标阻抗计算与电容选型深度实战

摘要:随着嵌入式处理器主频突破 GHz、多核架构普及,电源完整性(Power Integrity, PI)已成为高速 PCB 设计中不可忽视的关键环节。本文从 PDN(电源分配网络)阻抗模型出发,系统讲解目标阻抗计算方法、去耦电容选型策略、反谐振抑制技术,并结合 STM32F4 核心板的完整设计实例,提供一套可落地的电源完整性工程实践方案。电源完整性设计是一项系统工程,需要从目标阻抗计算电容选型反谐振抑制PCB 布局目标阻抗是设计的起点,由电源电压、纹波要求和瞬态电流决定去耦电容。

从事移动开发八年,csdn博客专家,阿里云特邀专家,华为云云享专家,高级网络信息安全工程师,大数据工程师(高级),python技术开发(高级),HarmonyOS 应用开发者高级认证,现在某学校任教。 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

C++Builder中实现控件数组的功能

Borland C++ Builder作为Inprise(原Borland)公司新推出的快速应用程序开发工具(RAD),具有威力强大的C++语言和快捷便利的可视化编程完美结合的优点,遗憾的是其没有直接提供像VB中的控件数组的功能,需要开发者自己编程实现。   VB中的一个控件数组可以1、允许多个控件共享同一个事件句柄,2、提供了运行期间增加一个控件的机制,3、提供了一种方便的组合控件的方法。前两项

键者天行 8357

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

用C++Builder实现Word 97自动化

用C++Builder实现Word 97自动化江西南昌华东交大控制信息工程研究所(330013)刘遵雄  ----要在应用程序中控制Word 97的运行,首先必须在编制自动化客户程序时使其头文件中包含文件ComObj.hpp,写入#include。编程工具C++Builder的开发者把调用Word 97自动化对象的功能大致包装成了几个Ole object class函数,应用程序设计人员可以很

holyfire的专栏 1616

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

C++BUILDER6下编译log4cpp-0.2.8手记

   C++BUILDER6下编译log4cpp-0.2.8手记    log4cpp是一个非常不错的开源项目,但是现有的Release版本中安装程序都存在有问题,导致在编译时不能顺利完成。在C++BUILDER6中编译最新版的log4cpp-0.3.5rc2时存在的问题非常严重,很多文件都缺少头文件,在经过大量的对源代码的修改后仍然无法顺利编译。因此,选择了低版本的log4cpp-0.2.8来进

swnuwangyun的专栏 2856

用C++Builder 编写定时关机程序

用C++Builder 编写定时关机程序 辽宁大学 郑永凡 从Internet下载较大的软件时,由于目前网络带宽的原因,许多人喜欢在晚间进行,而到深夜时就存在人需要休息的问题。目前绝大多数下载软件可以估算出下载所需的时间,如果到时让计算机自动关机,就可以免受守候之苦。本文介绍笔者用C++ Builder 5编写的一个能实现定时自动关机的程序。 程序功能 程序的运

stanely的专栏 1917

在Borland C++Builder中检查程序

在Borland C++Builder中检查程序BoundsChecker与Borland C++Builder的1.0, 3.0和4.0都进行了集成,因此你能够在不离开开发环境的情况下使用BoundsChecker先进的错误检查能力。另外, BoundsChecker 提供了SmartDebugging 去提高C++Builder开发环境下的调试器。SmartDebugging监控着所有

鹿寒的专栏 2198
上一篇: ASP中巧用Response属性
下一篇: VB编程的必备技巧
普通网友
博客等级 码龄26年 3粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值