全局hook向dll内部传递参数的问题

seraph412413 2006-12-14 10:31:18
我做了一个全局hook,现在dll的到处函数中传递被监视的进程名,但是我发现我传到dll内部的参数在setwindowshookex之后就变成空了,设成全局静态变量依然不起作用,我想可能是因为dll在进入不同的进程空间之后那个参数就带不进去了,谁知道怎么解决这个问题阿?
...全文
172 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangjiayi11 2006-12-15
  • 打赏
  • 举报
回复
设置为共享数据
seraph412413 2006-12-14
  • 打赏
  • 举报
回复
BOOL WINAPI StartHook(char * szProcessName)
{
BOOL bResult=FALSE;
szProcessNameLocal(这个为全局变量) = szProcessName;
DebugOut("szProcessNameLocal");
DebugOut(szProcessNameLocal);//到这里一切正常
glhHook=SetWindowsHookEx(WH_GETMESSAGE, &HookFunction, glhInstance, 0);
if(glhHook!=NULL)
{
bResult=TRUE;
}
return bResult;
}


下面执行的时候就没了,szProcessNameLocal每次都是空

BOOL WINAPI HOOK_TerminateProcess(HANDLE hProcess, UINT uExitCode )
{
DebugOut(szProcessNameLocal);
if(GetProcessIDByName(szProcessNameLocal, pid))
{
return FALSE;
}
else
{
return orgTerminate(hProcess, uExitCode);
}
}
yjgx007 2006-12-14
  • 打赏
  • 举报
回复
提供信息太少

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧