黑窗口输入确定数字弹MessageBox(VirtualProtect())
今天有人说到这个就想的弹一下,刚开始弄了一下,发现内存访问有问题想到可能与读写保护有关,所以用了VirtualProtect函数,得到了正确结果
网上这个小东西我自己没发现,就贴一下。。
void main()
{
printf("输入数字1弹出messagebox\r\n");
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 结尾不会蹦
}