| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 418 人关注过本帖
标题:查找动态库
只看楼主 加入收藏
vv66
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-10-3
收藏
 问题点数:0 回复次数:3 
查找动态库

我想用这段代码定位user32.dll中的函数BeginPaint,可是总找不到user32.dll,请高手指教

PCSTR pszDllName="user32.dll";
pfnOld=GetProcAddress(GetModuleHandle("user32.dll"),"BeginPaint");
ULONG size;
//找出模块hmodCaller的引入表
PIMAGE_IMPORT_DESCRIPTOR pImportDesc = (PIMAGE_IMPORT_DESCRIPTOR)
ImageDirectoryEntryToData(hmodCaller,TRUE,IMAGE_DIRECTORY_ENTRY_IMPORT,&size);
//如果没有找到引入表,则不修改,退出
if(pImportDesc==NULL)
return;
//寻找引入表内包含原函数pfnOld的DLL的模块
for(;pImportDesc->Name;pImportDesc++)
{
PSTR pszModName = (PSTR)((PBYTE)hmodCaller+pImportDesc->Name);
if(lstrcmpiA(pszModName,pszDllName)==0)
break;
}
//如果没有找到pfnOld的DLL。则不修改,退出
if(pImportDesc->Name==0)
return;

搜索更多相关主题的帖子: 动态 
2006-11-12 11:18
vv66
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-10-3
收藏
得分:0 
2006-11-12 22:07
wumingxin888
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-11-13
收藏
得分:0 
不懂~~
2006-11-13 17:59
sonellee
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-22
收藏
得分:0 
pfnOld 没有用到??

还是没有声明成指针函数??

或许你还没有装入DLL ??
(HINSTANTCE)m_hinstance= ::LoadLibrary("user32.dll");

[此贴子已经被作者于2006-11-14 15:05:49编辑过]


切忌人云亦云,要懂得赞美他人,让宽容成为你的朋友 不要做他人,要做自己。
2006-11-14 15:04
快速回复:查找动态库
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021281 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved