200分的简单问题:如何通过应用程序的文件名知道该程序的进程名(程序并没有运行)。

jackwuwei 2004-06-30 03:25:52
我的程序要监控用户指定的程序,通过打开文件对话框的形式选择应用程序名,但程序名有可能被改掉,但对应的进程名还是不变,我怎样得到进程名?
...全文
401 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackwuwei 2004-08-19
  • 打赏
  • 举报
回复
这么长时间都没人来了,结贴!
会思考的草 2004-07-20
  • 打赏
  • 举报
回复
先记录用户指定的exe文件名,然后,监视新创建的进程,把进程对应的pe映像和先前记录的exe文件名进行比对。
sohou 2004-07-15
  • 打赏
  • 举报
回复
强烈要求自己学习本帖
maxcode 2004-07-15
  • 打赏
  • 举报
回复
学习!!
roger_ding 2004-07-15
  • 打赏
  • 举报
回复
这个cache从上述现象上来看,应该是存在的,但是具体在哪里,以何种形式存在,以及究竟有没有这种chche,欢迎大家研究讨论
roger_ding 2004-07-15
  • 打赏
  • 举报
回复
以前我也发现了这个问题,就是release的可执行文件在改名后,任务管理器里的名字并没有改变

我做了一个实验:
随便找个文件,例如notepad.exe

步骤一:运行notepad.exe,任务管理器里显示notepad.exe

步骤二:改名为notepad1.exe运行,任务管理器里仍显示notepad.exe

步骤三:用UltraEdit打开notepad1.exe,在偏移0x400的地方改为0xff(此处不影响exe文件的运行),运行,这时再打开任务管理器,此时显示notepad1.exe!

步骤四:把notepad1.exe改名为notepad.exe,运行,打开任务管理器,显示notepad1.exe

步骤五:用UltraEdit打开,在偏移0x400的地方改为0x00(此处不影响exe文件的运行),运行,打开任务管理器,此时显示notepad.exe!

所以可以归纳总结为:
windows在执行一个文件时,会比较和cache里的文件,如果文件的时间一致,并且其他(有待讨论,例如可以是CRC32)的部分也一样的话,就在系统里记录执行文件名为cache里的文件名,否则就显示真正的文件名,并且把它放入cache中

附:说明一下,改动文件名是不会影响到文件的修改时间的

lanstar200 2004-07-15
  • 打赏
  • 举报
回复
不能,反過來可以
fzd999 2004-07-14
  • 打赏
  • 举报
回复
vcforever,内部文件名称!=进程名
vcforever 2004-07-14
  • 打赏
  • 举报
回复
分析PE文件的格式,得到内部文件名称!

PE文件格式可以参考
http://vcangle.8u8.com/file.htm
jackwuwei 2004-07-14
  • 打赏
  • 举报
回复
谢过各位!
希望得到更多的建议
enoloo 2004-07-05
  • 打赏
  • 举报
回复
试试用shell钩子。
huaboy408 2004-07-03
  • 打赏
  • 举报
回复
前来学习
geland 2004-07-03
  • 打赏
  • 举报
回复
既然程序没有运行,得到进程名有什么意义呢?
ljlln 2004-07-02
  • 打赏
  • 举报
回复
同意 geland(dingd)
kugou123 2004-07-02
  • 打赏
  • 举报
回复
程序没有运行,就没有进程,又哪里能得到进程名?
jackwuwei 2004-07-02
  • 打赏
  • 举报
回复
如果程序名被改,那该怎么办?
Gladstone 2004-07-01
  • 打赏
  • 举报
回复
每次当用户指定程序时, 你都在后台启动该程序使之执行一次, 从而取得其进程名, 进而对其实施监控.
gracezhu 2004-07-01
  • 打赏
  • 举报
回复
你可以这么实现,启动时监控主窗口,这样就不用知道进程名和程序名了
geland 2004-07-01
  • 打赏
  • 举报
回复
取进程列表,得到进程名和执行文件的对应关系看可以不?
Gladstone 2004-07-01
  • 打赏
  • 举报
回复
是的, 有点逊, 如果用户不是很频繁地做这件事的话,还是可以承受这一点损失的.
何况在你得到之后立即把它kill掉呢
加载更多回复(12)

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧