黑窗口输入确定数字弹MessageBox(VirtualProtect())

今天有人说到这个就想的弹一下,刚开始弄了一下,发现内存访问有问题想到可能与读写保护有关,所以用了VirtualProtect函数,得到了正确结果

网上这个小东西我自己没发现,就贴一下。。

void main()
{
printf("输入数字1弹出messagebox ");
int v1;
DWORD OldProtect;
scanf("%d", &v1);
//在调用进程的虚拟地址空间中更改对已提交页面的区域的保护。
//要更改任何进程的访问保护,请使用VirtualProtect功能。
VirtualProtect(&v1, sizeof(v1), PAGE_READWRITE, &OldProtect);

if (v1 == 1)
{
MessageBox(NULL, L"Hello", L"WinMain", MB_OK);
}

//int 结尾不会蹦
}

原文地址:https://www.cnblogs.com/L-Sunny/p/8318760.html