社区
进程/线程/DLL
帖子详情
知道进程id如何得到进程名
boilvik
2003-08-07 09:58:32
有没有直接的API。
XP环境
...全文
58
6
打赏
收藏
知道进程id如何得到进程名
有没有直接的API。 XP环境
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
boilvik
2003-08-08
打赏
举报
回复
是找不到GetModuleFileNameEx(),好像在psapi.h中,但vc找不到这个文件
bauhaus
2003-08-08
打赏
举报
回复
更新SDK了
要不谁有要一个
要不就你自己写一个
把这个函数声明加进去
meishi
2003-08-07
打赏
举报
回复
抱歉,上面说错了
你可以用OpenProcess()得到进程的句柄,
然后用GetModuleFileNameEx()得到进程名
meishi
2003-08-07
打赏
举报
回复
调用函数GetModuleFileNameEx()需要先知道进程句柄,
如果几经知道进程的句柄当然很好办,不知你知不知道进程的句柄,
听你说好像只知道进程名
boilvik
2003-08-07
打赏
举报
回复
多谢。有没有不用遍历的,GetModuleFileNameEx()为什么不能用
meishi
2003-08-07
打赏
举报
回复
你可以用Tlhelp32库
CreateToolhelp32Snapshot();
Process32FirstW();
Process32NextW();
CloseHandle();
遍历系统的所有有进程,找到与你知道的进程的ID完全一样的进程ID
则它对应的进程名就是你要找的进程名
得到
进程
ID
号
得到
进程
ID
号
Windows下根据
进程
id
获得
进程
名
//根据
进程
id
获得
进程
名
wstring GetModuleName(DWORD dwP
id
) { HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,dwP
id
); if (INVAL
ID
_HANDLE_VALUE == hSnapshot) { return L""; } PROCESSENTRY32 ...
通过
进程
ID
得到
进程
名
在内核中,通过
进程
ID
,
得到
进程
名
称,有多种方法。 我使用了两种方法,第一种是使用ZwOpeProcess
得到
句柄 然后ObReferenceObjectByHandle函数
得到
PEPROCESS结构,然后 char *ProcessName = (char*)EProcess + 0x174; 第二种方法是
得到
PEPROCESS结构之后,使用PsGetProcessIma
根据
进程
名
杀死
进程
-kill
进程
名
前两天一个老师给我出了一个linux操作上的问题,现在
知道
进程
名
怎样杀死这个
进程
。或许很多人都会和我一样说用 #pkill
进程
名
或是 #killall
进程
名
的确这个两个命令都能做到这些,而且我们平时一般
知道
进程
名
需要杀死
进程
的时候也都是用的这两个命令。可是他叫我用kill 命令来完成这个一操作。我们
知道
kill 要杀死
进程
是需要
知道
进程
的
id
的即
进程
号,其实这个思路就是需要通过其
Linux下获得
进程
id
和
进程
名
字
编程过程中,有的时候需要通过
进程
id
来
得到
进程
的
名
字,或则通过
进程
的
名
字来
得到
id
。通过shell可以很容易
得到
,这里通过代码来实现。 1. 通过
进程
名
字
得到
进程
id
。 p
id
_t getProcessP
id
byName(char *name) { FIL
进程/线程/DLL
15,467
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章