社区
C++ Builder
帖子详情
能够查询本机所有的进程中,哪些进程中调用了特定的动态链接库
d2000j
2004-12-28 05:22:30
请高手简单讲讲 编这个程序:“能够查询本机所有的进程中,哪些进程中调用了特定的动态链接库”的思路和方法,多谢了,急!~
...全文
168
2
打赏
收藏
能够查询本机所有的进程中,哪些进程中调用了特定的动态链接库
请高手简单讲讲 编这个程序:“能够查询本机所有的进程中,哪些进程中调用了特定的动态链接库”的思路和方法,多谢了,急!~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ccrun.com
2004-12-31
打赏
举报
回复
在Form上添加两个ListBox,一个Button,然后添加以下代码:
#include "tlhelp32.hpp"
//===========================================================================
// 获取当前所有进程
void __fastcall MyGetAllProcess(TStrings *pList)
{
String strExeFile;
char szBuf[256];
pList->Clear();
PROCESSENTRY32 pe32 = {sizeof(pe32)};
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hSnapShot == NULL)
return;
bool bFlag = Process32First(hSnapShot, &pe32);
while(bFlag)
{
strExeFile = AnsiString(pe32.szExeFile);
if(strExeFile.Pos("\\") != 0)
strExeFile = ExtractFileName(pe32.szExeFile);
pList->AddObject(strExeFile, (TObject *)pe32.th32ProcessID);
bFlag = Process32Next(hSnapShot, &pe32);
}
CloseHandle(hSnapShot);
}
//===========================================================================
// 获取指定进程所调用模块的信息
bool __fastcall MyGetAllModule(DWORD dwProcessID, TStrings *pList)
{
pList->Clear();
MODULEENTRY32 me32 = {sizeof(MODULEENTRY32)};
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessID);
if(hSnapShot == NULL)
return false;
bool bFlag = Module32First(hSnapShot, &me32);
if(!bFlag)
return false;
while(bFlag)
{
pList->AddObject(me32.szExePath, (TObject *)me32.th32ModuleID);
bFlag = Module32Next(hSnapShot, &me32);
}
CloseHandle(hSnapShot);
return true;
}
//---------------------------------------------------------------------------
// 点击Button以后将当前所有进程列在ListBox1中
void __fastcall TForm1::Button1Click(TObject *Sender)
{
MyGetAllProcess(ListBox1->Items);
}
//---------------------------------------------------------------------------
// 点击ListBox的一个进程,在ListBox2中列出该进程调用的所有模块
// 注:如果要获取系统级进程的调用模块,需要提升本进程的调试级别
void __fastcall TForm1::ListBox1Click(TObject *Sender)
{
int nIndex = ListBox1->ItemIndex;
if(nIndex < 0)
return;
MyGetAllModule((DWORD)ListBox1->Items->Objects[nIndex], ListBox2->Items);
}
//---------------------------------------------------------------------------
CityHost
2004-12-30
打赏
举报
回复
帮你顶
dll远程线程注入(支持64bit win7)
标题 "dll远程线程注入(支持64bit win7)" 描述了一种技术,用于在其他
进程
中
动态加载和执行DLL(
动态链接库
)代码。这种方法通常被用于调试、监控、自动化测试或恶意软件
中
。这里特别指出它适用于64位Windows 7...
键盘监控范例程序
总的来说,这个键盘监控范例程序使用了Delphi作为开发工具,通过创建一个
动态链接库
(Hook.dll)来实现Hook技术,并在主程序(main)
中
调用
这些钩子功能,以达到监控键盘输入的目的。配置文件(cfg)和项目文件(ddp...
动态
调用
动态库
动态链接库
的静态
调用
需要.h .dll文件, 有时候甚至会用到.lib文件,在工程编译时就将库
中
的方法和类等引入 2.
动态链接库
的动态
调用
在已知库文件内容的前提下,只使用.dll文件,动态的将其
调用
,本文就在描述此...
动态链接库
的创建和使用
动态链接库
的创建和使用 一. 创建
动态链接库
1. 创建
动态链接库
项目 1. 1
动态链接库
(DLL) 项目结构如下 为了节约大型项目的编译时间,系统自动为我们生成了和预编译头相关两个文件pch.cpp和pch.h,我们可以选择...
C++
动态链接库
的使用
本文详细介绍了C++
中
动态链接库
的使用
C++ Builder
13,873
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章