自己做公司网站,济南房地产网站建设,网站续费自己做,网站加友情链接的好处当需要使某一程序在开机时就启动它#xff0c;需要把它写进注册表的启动项中。 下面就展示一种简单的写法#xff1a;
#include windows.h
#include stdlib.h
#include stdio.hvoid ComputerStart(char *pathName)
{//找到系统的启动项 char *szSub…当需要使某一程序在开机时就启动它需要把它写进注册表的启动项中。 下面就展示一种简单的写法
#include windows.h
#include stdlib.h
#include stdio.hvoid ComputerStart(char *pathName)
{//找到系统的启动项 char *szSubKey SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run;HKEY hKey;//打开注册表启动项 int k RegOpenKeyExA(HKEY_CURRENT_USER, szSubKey, 0, KEY_ALL_ACCESS, hKey);if (k ERROR_SUCCESS){//添加一个子Key,并设置值MyStart为启动项名称自定义设置RegSetValueEx(hKey, MyStart, 0, REG_SZ, (BYTE *)pathName, strlen(pathName));//关闭注册表RegCloseKey(hKey);printf(设置成功\n);}else{printf(设置失败 error:%d\n, k);}
}int main()
{char pathName[MAX_PATH];//文件名字最大260个字符 MAX_PATH 260GetCurrentDirectory(MAX_PATH, pathName);//设置字符集为多字节字符集 获取当前文件路径sprintf(pathName, %s\\, pathName);strcat(pathName, 1234.exe);//找到需要开机自启动的程序ComputerStart(pathName);system(pause);return 0;
}将该程序放在你所需要开机自启的程序目录下便可将你所需要的程序写进注册表。该程序具有可移植性切勿恶搞他人电脑 在某些情况下也会出现写入失败的问题根据RegOpenKeyExA函数所返回的错误代码查询错误情况一般都是注册表路径有误或者没有权限。在项目属相中选择配置属性-链接器-清单文件-UAC执行级别- requireAdministrator (/levelrequireAdministrator)如下图所示
如何检查是否将某一程序写进了注册表呢WinR键输入msconfig在所出现的窗口中选顶端的启动栏便可查看MyStart是否下进了注册表启动项。或者打开任务管理器在启动栏中也可查看。 注册表是windows一个重要的数据库一般情况下不要将某些程序放进注册表不仅会增长开机时间而且对某些恶意程序提供了可乘之机。