//猜猜看如下三个程序,会弹出几个对话框?
#include "windows.h"
void main()
{
HMODULE module = GetModuleHandle(0);
CHAR buffer[MAX_PATH];
GetModuleFileName(module, buffer, sizeof(buffer));
UnmapViewOfFile(module);
MessageBox(0, buffer, 0, 0);
}
//----------------------------
#include "windows.h"
void main()
{
HMODULE module = GetModuleHandle(0);
CHAR buffer[MAX_PATH];
GetModuleFileName(module, buffer, sizeof(buffer));
__asm
{
lea eax, buffer
lea esi, goon
push 0
push 0
push eax
push 0
push esi
push module
push MessageBox
push UnmapViewOfFile
ret
}
goon:
MessageBox(0, 0, 0, 0);
}
//----------------------------
#include "windows.h"
void main()
{
HMODULE module = GetModuleHandle(0);
static CHAR buffer[MAX_PATH];
GetModuleFileName(module, buffer, sizeof(buffer));
__asm
{
lea eax, buffer
lea esi, goon
push 0
push 0
push eax
push 0
push esi
push module
push MessageBox
push UnmapViewOfFile
ret
}
goon:
MessageBox(0, 0, 0, 0);
}