扫雷外挂制作:
结合前面几课自行编写的一键扫雷程序:
void CSingleClickDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
HWND h = ::FindWindowA("扫雷",NULL);
if(h==0)
{
::MessageBox(0,L"游戏未打开",0,MB_OK);
return;
}
WORD yx[2];
int high;//高
int wide;//宽
DWORD pid;
GetWindowThreadProcessId(h,&pid);
TOKEN_PRIVILEGES tkp;
HANDLE hToken;
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken);
LookupPrivilegeValue(NULL, SE_DEBUG_NAME,&tkp.Privileges[0].Luid); //获得本地机唯一的标识
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,(PTOKEN_PRIVILEGES) NULL, 0); //调整获得的权限
HANDLE hp=OpenProcess(PROCESS_ALL_ACCESS ,false,pid);
if(hp==NULL)
{
::MessageBox(0,L"打开进程出错",0,MB_OK);
return;
}
ReadProcessMemory(hp