首页
社区
课程
招聘
[旧帖] 如何获得进程名 0.00雪花
发表于: 2009-11-4 14:45 4370

[旧帖] 如何获得进程名 0.00雪花

2009-11-4 14:45
4370
我想获得进程名,,不是全路径,获取全路径名后再提取可执行文件名,,我觉得挺麻烦的

有没有简单的方法,,,,比如c:\file\notepad.exe,,我只想要notepad.exe这个名字,,,,用什么API函数可以方便的实现,,,,求高手指教

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 209
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
可以逆序查找‘\'然后复制的。
2009-11-4 15:39
0
雪    币: 64
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
参考
Process32First
Process32Next
2009-11-4 15:40
0
雪    币: 186
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我就是觉得二楼的方法有点繁琐,,所以想问一下有没有新的办法,,,,

其实上面我的那个问题我自己解决了,,,,但是又发现了一个新的问题

MSDN上说PROCESSENTRY32结构的szExeFile字段包含了路径,,就像下面说的

szExeFile
Path and filename of the executable file for the process.

但是我用OB调试结果只有filename,比如C:\\system32\NOTEPAD.EXE

结果只有NOTAPAD.EXE,,

如下面一段程序

lstrcmp(pe.szExeFile,TEXT("NOTEPAD.EXE))

结果可以返回零,这是为什么,,,是MSDN说错了????请高人指教!!!
2009-11-4 15:47
0
雪    币: 92
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
你大小写弄对没?区分大小写的吧

是有个函数可以提取后面那部分的,不过忘了,晚上回去自己电脑上看看
2009-11-4 16:10
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
msdn:Null-terminated string that contains the path and file name of the executable file for the process
我以前还真没注意到这里。。等待答案
2009-11-5 19:20
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
7
你是下载的msdn吧,肯定是很老的版本了,在线查一下你就知道
http://msdn.microsoft.com/en-us/library/ms684839(VS.85).aspx
szExeFile
The name of the executable file for the process. To retrieve the full path to the executable file, call the Module32First function and check the szExePath member of the MODULEENTRY32 structure that is returned. However, if the calling process is a 32-bit process, you must call the QueryFullProcessImageName function to retrieve the full path of the executable file for a 64-bit process.


一楼那个问题,C语言有个现成的函数strrchr,自己写一个也是很简单的。
2009-11-5 20:32
0
雪    币: 146
活跃值: (92)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
就strrchr,简单方便,很多软件都用,如Adobe Reader
2009-11-5 20:59
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
哦。。原来我OUT了。
考虑下要不要用VS2008
2009-11-6 20:32
0
雪    币: 186
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我是自己买光盘MSDN,,,是很老的那种版本,,,也许就是MSDN以前写错了吧,,,我反正调试过就只有可执行文件名,,和我的MSDN说的不一样!Moudle32First是可以取得全路径,,这个知道,,,,,
2009-11-6 22:06
0
游客
登录 | 注册 方可回帖
返回
//