社区
嵌入开发(WinCE)
帖子详情
怎样获得进程加载了哪些模块(dll)?
ziamhitler
2009-03-12 11:01:55
怎样获得进程加载了哪些模块(dll)?有没有相关的API或者例子程序?
请知道的朋友说一下,非常紧急!
谢谢!
...全文
469
8
打赏
收藏
怎样获得进程加载了哪些模块(dll)?
怎样获得进程加载了哪些模块(dll)?有没有相关的API或者例子程序? 请知道的朋友说一下,非常紧急! 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
love514425
2009-03-15
打赏
举报
回复
> 推荐LZ看看 <<windows核心编程 (五)>> 里面有很详细的解释跟Demo
zhujinqiang
2009-03-12
打赏
举报
回复
记号。
jw212
2009-03-12
打赏
举报
回复
MSDN上的sample code:
void PrintModules( DWORD processID )
{
HMODULE hMods[1024];
HANDLE hProcess;
DWORD cbNeeded;
unsigned int i;
// Print the process identifier.
printf( "\nProcess ID: %u\n", processID );
// Get a list of all the modules in this process.
hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |
PROCESS_VM_READ,
FALSE, processID );
if (NULL == hProcess)
return;
if( EnumProcessModules(hProcess, hMods, sizeof(hMods), &cbNeeded))
{
for ( i = 0; i < (cbNeeded / sizeof(HMODULE)); i++ )
{
TCHAR szModName[MAX_PATH];
// Get the full path to the module's file.
if ( GetModuleFileNameEx( hProcess, hMods[i], szModName,
sizeof(szModName) / sizeof(TCHAR)))
{
// Print the module name and handle value.
_tprintf( TEXT("\t%s (0x%08X)\n"), szModName, hMods[i] );
}
}
}
CloseHandle( hProcess );
}
jw212
2009-03-12
打赏
举报
回复
用这个吧:EnumProcessModules
Retrieves a handle for each module in the specified process.
ziamhitler
2009-03-12
打赏
举报
回复
非常感谢各位,马上写代码测试一下!
儿大不由爷
2009-03-12
打赏
举报
回复
ToolHelp API
Module32First
Retrieves information about the first module associated with a process.
Module32Next
Retrieves information about the next module associated with a process or thread.
Process32First
Retrieves information about the first process encountered in a system snapshot.
Process32Next
Retrieves information about the next process recorded in a system snapshot.
CloseToolhelp32Snapshot
Closes a handle to a snapshot.
CreateToolhelp32Snapshot
Takes a snapshot of the processes, heaps, modules, and threads used by the processes.
beyondma
2009-03-12
打赏
举报
回复
VS2005自带的远程RPOCESS VIEWER就是一个例子。用的的API,应该是ENUMMODULUR吧。
xqhrs232
2009-03-12
打赏
举报
回复
做个标记
易语言监视
DLL
模块
加载
【源码】
纯API实现,无
模块
调用
显示
进程
和指定
进程
加载
的
模块
展示了如何显示当前系统
进程
(32位
进程
) 并显示指定名称
进程
加载
了哪些
模块
(包括
dll
、ocx或者其他
模块
、被注入的
模块
等等) 关键函数: CreateToolhelp32Snapshot,EnumProcessModules,OpenProcess,Process32First 编译环境: vc2015 参考代码用法后可以移植到其他版本的vc开发环境
释放
进程
加载
模块
(十个字以上)
用于释放
进程
加载
的
DLL
模块
!用于释放
进程
加载
的
DLL
模块
!
查看
进程
、线程、
DLL
模块
等信息
一个系统安全类工具,可查看
进程
、线程、
DLL
模块
等信息,可挂起恢复
进程
、查看
进程
文件,结束
进程
等。 功能: 1.查看
进程
信息
进程
信息:名称、PID、用户、线程数、句柄数、命令行等。
模块
信息:
模块
名称、公司、路径,非微软公司
模块
用红色标识。 线程信息:当前
进程
所执行的所有线程。 2.创建
进程
创建
进程
用于启动一个
进程
,只能启动可执行文件。 3.禁止
进程
创建 防止一个EXE程序自动运行。 4.结束和挂起
进程
结束
进程
或结束任务用于停止一个程序的运行,两者差不多一样,所不同的是只有有窗口的程序才能被结束任务,支持多选(使用Ctrl和Shift键)。 挂起
进程
即暂停
进程
的运行。 5.系统启动项 这里的程序可以在系统启动时
加载
运行,根据情况该删则删。 6.内核
模块
当前系统
加载
的内核
模块
,一般为驱动程序,红色表示非微软的。 7.SSDT 当前的系统服务函数,红色表示被修改过,多为杀软所为,不必在意。 8.搜索
模块
看一个
模块
被哪些
进程
所调用。 9.卸载
模块
删除一个
进程
中的
模块
。 10.增加了输出
进程
DLL
信息的功能,顺便把运行库也加里面了。
【实测有效,真正解决】VB.NET C# VS sqlite 无法
加载
DLL
“SQLite.Interop.
dll
”: 找不到指定的
模块
适用于VB.NET/C#。 简单整合32位SQLite跟64位SQLite,项目属性设置为anycpu的时候不会再有烦人的编译平台不同的提示,sqlite会自动根据系统的位数,而选择相应的版本。 同时还阔以解决System.
Dll
NotFoundException: 无法
加载
DLL
“SQLite.Interop.
DLL
”问题。 判断32位
进程
还是64位
进程
可以用 Environment.Is64BitProcess 资源全部来自官网http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
嵌入开发(WinCE)
19,502
社区成员
41,568
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章