代码没有错肯定是Dll除了问题
执行一次时:
// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include "pch.h"
#include<Windows.h>
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD Reason,
LPVOID lpReserved
)
{
switch (Reason) {
case DLL_PROCESS_ATTACH:
//H1_MessageBoxA();
MessageBoxW(NULL, TEXT("This is my Hook"), TEXT("Hook"), NULL);
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
return TRUE;
}
执行两次时:
// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include "pch.h"
#include<Windows.h>
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD Reason,
LPVOID lpReserved
)
{
MessageBoxW(NULL, TEXT("This is my Hook"), TEXT("Hook"), NULL);
return TURE;
}
为了省事,我把switch语句删除了,导致dll注入时。MessageBoxW()执行两次。