给注入explorer.exe的dll添加上开机自动启动的功能
在此处我们通过写注册表的方式进行开机启动
void AutoRunFun()
{
TCHAR szFullPath[MAX_PATH + 1] = { 0 };//定义存放当前文件的字符串变量
GetModuleFileName(NULL,szFullPath,MAX_PATH);//获取当前文件的路径
LPCTSTR lpSubKey = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");//定义操作的注册表的路径
HKEY hKey;//注册表的返回值
REGSAM flag = KEY_WOW64_64KEY;//当前系统为win7 64位,访问的是64位的注册表,如果访问32位,则改为KEY_WOW64_32KEY
LONG lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpSubKey, 0, KEY_ALL_ACCESS | flag, &hKey);//打开注册表
//探测是否有错
if (ERROR_SUCCESS != lRet)
{
cout << "RegOpenKeyEx fail!" << endl;
return;
}
//设置注册表的值
lRet = RegSetValueEx(hKey, TEXT("TEST"), 0, REG_SZ, LPBYTE(szFullPath), wcslen(szFullPath));
if (ERROR_SUCCESS != lRet)
{
cout << "no cheng gong2";
return;
}
return;
}
结果我们的整个程序代码如下:
#include <iostream>
#include <Window