摘要载入中… 请稍等…
内容载入中… 请稍等…
| ◎→ | 本类最新 |
|
在DELPHI中映射网络驱动器 在Delphi中实现对目录拷贝、删除 在Delphi中接受文件拖放 在Delphi中定位文件位置 用代码打开屏幕保护 用Delphi编程得到OS的类型 用Delphi编码实现程序自启动 |
|
| ◎→相关资源 | |
| C语言入门视频教程 C#编程WinForm入门视频 Asp.net入门视频教程下载 VC++编程视频教程下载 VB窗体文章 HTML入门教程 Deiphi实例教程 Deiphi窗体文章 Deiphi数据库编程 Deiphi网络编程 Deiphi图形图象文章 Deiphi系统文件 | |
| ◎→ | 热门资源 |
| 反查漢字拼音 防止多个实例公用程序 防止关闭windows 放置任意的文件到Delphi的EXE文件 改变文件的属性 给MDI主窗口加背景 给控件添加OnMouseLeave事件 |
|
M 作 者: z_h_q_2000(★龙飞虎★) 2001-06-01 20:06:01 :0 :0
[回复] [打包] [转贴]
uses tlhelp32;
procedure TForm1.Button1Click(Sender: TObject);
var
pe:PROCESSENTRY32;
me:MODULEENTRY32;
hp,hm:Thandle;
b,b1:boolean;
begin
hp:=CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS,0);
pe.dwSize:=SizeOf(pe);
b:=Process32First(hp,pe);
while b do
begin
hm:=CreateToolHelp32SnapShot(TH32CS_SNAPModule,pe.th32ProcessID);
me.dwSize:=sizeof(ModuleEntry32);
if Module32First(hm,me) then
begin
b1:=Module32First(hm,me);
while b1 do
begin
if me.th32ModuleID=pe.th32ModuleID then
listbox1.Items.Add(me.szExePath);
b1:=Module32Next(hm,me);
end;
end;
b:=Process32Next(hp,pe);
end;
end;
而在NT系统中由于不支持toolhelp api,故
#include "psapi.hpp"
假使process id是 pid 的话:
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,FALSE,pid);
if( NULL != hProcess )
{
HMODULE hMod;
DWORD cbNeeded;
if( EnumProcessModules( hProcess, &hMod, sizeof( hMod ), &cbNeeded ) )
{
char buf[MAX_PATH+1]="";
if(GetModuleBaseName( hProcess, hMod,buf,sizeof buf)>0)
//
// buf放的就是名字
//
}
CloseHandle(hProcess);
}
(注意该程序运行需要psapi.dll,所以要copy到别的机器上运行时需连同该文件一起拷贝。当然如果装了delphi或者c++ builder就不需要了)
| 芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们 |