写注册表设置开机启动的代码

基本思路就是先创建一个注册表项,然后打开注册表,再进行写入,读取注册表也是类似的,先打开,然后读取,然后关闭键值。

而开机启动项目是放在注册表的"HKEY_LOCAL_MACHINE//Software//Microsoft//Windows//CurrentVersion//Run"这个项目下的,所以呢只要向这个地方写入自己的程序的名称以及路径,下次重新启动机器时,你会发现自己的程序开机启动了!

贴图: 

自己写的一段代码,虽然不怎么好吧,但是这是自己第一次写注册表,没什么经验,欢迎拍砖哈!

在C++中,直接编开机启动程序并不常见,因为这通常是操作系统级别的任务,通常需要利用系统的注册表或者服务管理来进行设置。然而,在Windows系统下,可以借助一些第三方库,如CreateProcess函数配合批处理文件 (.bat 或 .cmd) 来创建一个可以在系统启动时运行的程序。 以下是一个简单的示例,说明如何通过C++创建一个批处理文件并在系统启动时运行: ```cpp #include <windows.h> // 定义一个全局变量来存储批处理路径 std::string batchFilePath = "C:\\YourPath\\your_script.bat"; void CreateStartupShortcut() { STARTUPINFO si = {0}; PROCESS_INFORMATION pi; // 初始化STARTUPINFO结构体 si.cb = sizeof(si); si.dwFlags |= STARTF_USESHOWWINDOW; // 设置窗口模式 // 创建命令行字符串 TCHAR commandLine[MAX_PATH]; _stprintf(commandLine, TEXT("CMD /c start %s"), batchFilePath.c_str()); // 打开进程 if (CreateProcess(NULL, // 父进程 commandLine, // 命令行参数 NULL, // 拒绝继承父进程的句柄集 NULL, // 不传递给新进程的句柄集 FALSE, // 不继承已打开的文件 0x00000008 | 0x00000010, // 创建新进程并显示窗口 NULL, // 使用默认的启动目录 NULL, // 启动信息文件名 &si, // 启动信息 &pi)) // 进程信息 { // 程序已经成功启动 CloseHandle(pi.hThread); // 关闭线程句柄 CloseHandle(pi.hProcess); // 关闭进程句柄 } else { // 创建失败,打印错误信息 DWORD dwError = GetLastError(); printf("Failed to create process with error code: %u\n", dwError); } } int main() { CreateStartupShortcut(); return 0; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值