大家好,又见面了,我是你们的朋友全栈君。
#include "stdafx.h"
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
// Get root key handle.
HKEY hRoot = nullptr;
LPCTSTR lpSubKey = L"Software\\Microsoft\\Windows\\Windows Error Reporting";
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpSubKey, 0, KEY_ALL_ACCESS, &hRoot) != ERROR_SUCCESS)
{
wprintf(L"Open root key <%s> failed!\n", lpSubKey);
}
// Create subKey.
HKEY hResult = nullptr;
lpSubKey = L"Hangs";
DWORD despostion = NULL;
if (RegCreateKeyEx(hRoot, lpSubKey, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hResult, &despostion) != ERROR_SUCCESS)
{
wprintf(L"Create key <%s> failed!\n", lpSubKey);
}
else
{
if (despostion == REG_CREATED_NEW_KEY)
{
printf("Create new key successfuly!\n");
}
if (despostion == REG_OPENED_EXISTING_KEY)
{
printf("Opened new key successfuly!\n");
}
}
// Set subkey value.
LPCTSTR lpValueName = L"ReflectDebugger";
LPCTSTR lpData = L"c:\\windows\\system32\\cmd.exe";
if (RegSetValueEx(hResult, lpValueName, 0, REG_SZ, (const byte*)lpData, (_tcslen(lpData)+1) * sizeof(TCHAR)) != ERROR_SUCCESS)
{
printf("Set key value failed!\n");
return 0;
}
else
{
printf("Reg Add Successfully!\n");
}
system("pause");
return 0;
}
添加注册表成功后,调用werfault.exe -pr ,werfault会启动注册表中填写的可执行程序。
上面代码需要用管理员权限编译运行
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149716.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...