获取当前dll句柄,遍历输入表
来源:互联网 发布:富士通扫描仪软件收费 编辑:程序博客网 时间:2024/06/16 12:08
{
MEMORY_BASIC_INFORMATION mbi;
return ((::VirtualQuery(GetSelfModuleHandle, &mbi, sizeof(mbi)) != 0)
? (HMODULE) mbi.AllocationBase : NULL);
}
HMODULE hmd =LoadLibrary(_T("C:/Documents and Settings/Administrator/桌面/NOTEPAD.EXE"));
ULONG size;
PIMAGE_IMPORT_DESCRIPTOR pImport=(PIMAGE_IMPORT_DESCRIPTOR)ImageDirectoryEntryToData
(hmd,true,IMAGE_DIRECTORY_ENTRY_IMPORT,&size);
while (pImport->FirstThunk)
{
char *pDllName = (char *)((BYTE *)hmd+pImport->Name);
printf("DLL文件名:%s\n", pDllName);
//通过OriginalFirstThunk定位到IMAGE_THUNK_DATA结构数组
IMAGE_THUNK_DATA *Thunk = (IMAGE_THUNK_DATA *)((BYTE *)hmd + pImport->OriginalFirstThunk);
while (Thunk->u1.Function)
{
//判断函数是用函数名导入的还是序号导入的
if (Thunk->u1.Ordinal & 0xffff)
{
//输出序号
printf("从此DLL导出的函数序号为:%x\n",Thunk->u1.Ordinal&0xffff);
}
else//得到IMAGE_IMPORT_BY_NAME结构中的函数名
{
IMAGE_IMPORT_BY_NAME *importname = (IMAGE_IMPORT_BY_NAME *)((BYTE *)lpdata + Thunk->u1.AddressOfData);
printf("从此DLL导出的函数名为:%s\n",importname->Name);
}
Thunk++;
}
pImport++;
}
- 获取当前dll句柄,遍历输入表
- MFC规则dll中获取当前模块句柄
- 获取当前具有输入焦点控件的窗口句柄
- 获取当前具有输入焦点控件的窗口句柄
- 获取当前线程句柄
- 获取当前焦点控件句柄
- 获取当前模块的句柄
- 获取当前模块句柄GetModuleHandle
- 内核PspCidTable句柄表遍历获取隐藏进程
- 驱动遍历句柄表
- MFC 获取当前窗口句柄,或者父子窗口句柄
- MFC 获取当前活动窗口的句柄
- 获取当前活动窗口句柄和标题
- 通过VirtualQuery获取当前模块的句柄
- MFC 获取当前活动窗口的句柄
- GetCurrentThread()获取当前线程句柄的陷阱
- C++函数举例:获取当前模块句柄
- 随笔6 - 获取当前程序的句柄
- 我是怎么招聘程序员的
- JScrollPane的注意事项
- 四舍五入保留两位小数的四种方法
- 用户名错误则一直登录
- as3.0滑动拼接游戏
- 获取当前dll句柄,遍历输入表
- Objective-C中nil与release的区别与用法
- CPU使用
- struts1的工作原理
- 上午去把下两个月的房贷存上了
- 判断文件是否存在
- 内存使用
- <%# Eval("ArticleName") %>绑定后台数据的方法
- 开源Jabber(XMPP) IM服务器介绍