Siryag 发表于 2016-6-23 09:42:03

用Api写注册表达到让程序开机启动

本帖最后由 Siryag 于 2016-6-23 09:43 编辑

用到的API:RegOpenKeyEx   RegSetValueEx   RegCloseKey
注册表简介:注册表
开机启动注册表项:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int iShowCmd)
{
      TCHAR szProgramPath = TEXT("E:\\主控\\checkzhk.exe"); //要启动的文件路径
      HKEY hKey;

      //打开注册表
    int iOpenRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"), 0, KEY_ALL_ACCESS, &hKey);
      if (ERROR_SUCCESS == iOpenRet)
      {
                //写入注册表
                int iSetRet = RegSetValueEx(hKey, TEXT("test"), 0, REG_SZ, (const BYTE *)szProgramPath, MAX_PATH);
      }
      else
      {
                MessageBox(NULL, TEXT("打开注册表失败"), TEXT("错误"), MB_OK | MB_ICONERROR);
      }
      RegCloseKey(hKey); //关闭注册表
      return 0;
}

~风介~ 发表于 2016-6-23 22:26:59

题外话,楼主学过Qt吗?

Siryag 发表于 2016-6-24 08:26:11

~风介~ 发表于 2016-6-23 22:26
题外话,楼主学过Qt吗?

没有呢

~风介~ 发表于 2016-6-24 11:38:54

Siryag 发表于 2016-6-24 08:26
没有呢

记得在学Qt的时候,为了开机启动琢磨了好一段时间。。。{:10_254:}

Siryag 发表于 2016-6-24 14:17:04

~风介~ 发表于 2016-6-24 11:38
记得在学Qt的时候,为了开机启动琢磨了好一段时间。。。

开机启动可以有很多方法还可以直接扔进启动目录不过有点戳

Siryag 发表于 2016-6-24 14:18:46

Siryag 发表于 2016-6-24 14:17
开机启动可以有很多方法还可以直接扔进启动目录不过有点戳

还可以添加计划任务

~风介~ 发表于 2016-6-24 18:06:13

Siryag 发表于 2016-6-24 14:17
开机启动可以有很多方法还可以直接扔进启动目录不过有点戳

看来学好SDK还是很有用的呀!{:10_254:}

ELI_ 发表于 2016-6-30 12:40:02

非常感谢你
{:10_251:}

xhbsingle 发表于 2016-7-5 15:39:51

学习

_Turned丶陌影° 发表于 2016-7-15 14:30:05

1
页: [1]
查看完整版本: 用Api写注册表达到让程序开机启动