c++程序隐藏DOS窗口和开机自启的方法

隐藏DOS窗口

在main函数外添加下面这行代码

1 #pragma comment( linker, "/subsystem:"windows" /entry:"mainCRTStartup"")

该行函数的参数请自行google

开机自启

在main()函数中添加下面代码

 1 char system[MAX_PATH];   //系统目录路径
 2     char path[MAX_PATH];     //开机运行文件的完整路径
 3     HMODULE GetModh=GetModuleHandle(NULL);    //检索指定的模块
 4 
 5     GetModuleFileName(GetModh,path,sizeof(path));   //得到当前执行文件的全路径
 6     GetSystemDirectory(system,sizeof(system));      //得到系统所在目录路径
 7 
 8     strcat(system,"\你程序的名称.exe");
 9     CopyFile(path,system,FALSE);
10 
11     //写入注册表
12     HKEY hKey;
13     RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\Microsoft\Windows\CurrentVersion\Run",0,KEY_SET_VALUE,&hKey);
14     RegSetValueEx(hKey, "你程序的名称.exe",0,REG_SZ,(const unsigned char*)system,sizeof(system));
15     RegCloseKey(hKey);
原文地址:https://www.cnblogs.com/newworldcom/p/3463077.html