-
-
想拦截TextOut这类的API,记录所有的屏幕输出,有问题。
-
-
想拦截TextOut这类的API,记录所有的屏幕输出,有问题。
在拦截TextOut的过程中,对文件进行操作,在切换进程的时候,有空指针错误,到底是什么原因呢。有没有做过类似工作的大侠,说一说,API HOOK的过程中应该如何把数据写入文件呀。
DLLEXPORT BOOL WINAPI NHExtTextOutA(HDC hdc,
int X,
int Y,
UINT fuOptions,
CONST RECT *lprc,
LPCTSTR lpString,
UINT cbCount,
CONST INT *lpDx)
{
// restore
RestoreWin32Api(&g_ExtTextOutAHook, HOOK_NEED_CHECK);
//---------------------------------------------------
ofstream SaveFile("c:\\file1.txt", ios::ate);
SaveFile << "NHExtTextOutA:";
SaveFile << (const char*)lpString;
SaveFile << "\r\n";
SaveFile.close();
//fp = fopen("c:\\file1.txt", "w+");
//PrintA(fp, X, Y, lpString);
//fclose(fp);
//fp = NULL;
//---------------------------------------------------
ExtTextOutA(hdc, X, Y, fuOptions, lprc, lpString, cbCount, lpDx);
HookWin32Api(&g_ExtTextOutAHook, HOOK_NEED_CHECK);
return TRUE;
}
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!