【难题】怎么通过进程名得到文件名

问题描述

现在已经打开了两个文件:c:a.txtd:testa.txt写一个C#程序,关闭d:testa.txt这个问题的难点在于,那两个文件在进程中都显示为notepad,怎么才能得到它们的文件名呢?(为了避免你投机地使用MainWindowTitle来标识这两个进程,我特意使用了两个文件名相同(路径不同)的文件(更不要企图用Process和MainModule.FileName来获得,因为它们获得的只是notepad,c:windowsnotepad.exe,而不是.txt文件名)

解决方案

解决方案二:
Process[]allProcesses=Process.GetProcesses();for(inti=0;i!=allProcesses.Length;i++){ProcessModulemyProcessModule;ProcessModuleCollectionmyProcessModuleCollection=allProcesses[i].Modules;for(intz=0;z<myProcessModuleCollection.Count;z++){myProcessModule=myProcessModuleCollection[z];Console.WriteLine(myProcessModule.ModuleName+":"+myProcessModule.FileName);}myProcessModule=allProcesses[i].MainModule;MessageBox.Show(myProcessModule.FileName);}

解决方案三:
楼上的不认真啊,呵呵(开玩笑)我在顶楼说得很清楚了:===============更不要企图用Process和MainModule.FileName来获得,因为它们获得的只是notepad,c:windowsnotepad.exe,而不是.txt文件名==============你这个方法只能得到c:windowsnotepad.exe这样的结果我要得到的是c:a.txtd:testa.txt
解决方案四:
1.创建一个新的nodepad.exe的进程,把一个txt文件名作为参数传给它,等这个进程初始化完了以后,在进程的地址空间中查找刚才打开的txt文件名(用ReadProcessMemory函数),得到一个存放notepad存放文件名的地址,关闭这个进程。2.枚举系统中运行的notepad.exe进程,得到进程的句柄,用ReadProcessMemory从上一步得到的地址读出记事本打开的文件名。
解决方案五:
ReadProcessMemory是API?不知道怎么用,请你写出代码(还有,我的.txt文件是事先就启动的,而不是由程序来启动)
解决方案六:
up

时间: 2024-09-20 11:41:25

【难题】怎么通过进程名得到文件名的相关文章

用批处理批量修改excel文件名

Windows时代,大家习惯用鼠标点击,点击来完成任务,以前老手们常用的命令行貌似已经走入了穷途末路.基公安部,善用命令行.批处理甚至脚本,会给我们的日常电脑使用带来意想不到的方便.下面我们就来用批处理.命令行与脚本来批量修改Excel文件名 为满足儿子睡前十分钟小故事的需求,同时又不给自己事业来太多的劳碌,我下载了52篇世界童话名著660分钟配乐朗诵的童话故事.可这个童话故事解压后,其中的MP3文件名称是Fs001.mp3.fs002.mp3.直接复制到手机上播放?从文件名分不清是哪个童话故事

云存储领域的那些安全难题与解决途径

   [51CTO.com快译]云存储供应商无法为全部IT管理员提供理想的方案平衡点,但配合第三方选项则能够有效解决问题. 云存储具备诸多优势,其可帮助IT部门以集中方式管理.保护及备份企业文件.另外,其亦允许用户随时随地利用认证设备操作文件,并将文件内容在多种设备间进行同步(包括工作计算机.家用计算机以及移动设备等). 然而潜在的安全缺口往往意味着云存储无法提供令人满意的数据安全性水平,且目前尚无理想的解决方案一次性搞定这项难题. 另外,以下场景亦相当常见:IT部门鼓励或者要求用户将全部工作文

解决PowerPoint中插入视频的难题

常用PowerPoint制作课件的老师,可能都遇到过这样的烦心事:精心从VCD光盘或录像带上截取了一段http://www.aliyun.com/zixun/aggregation/18246.html">视频文件(通常为?.mpeg格式),用超级解霸或Windows自带6186.html">播放器等都能正常播放,可在 插入幻灯片时,却弹出错误提示 对话框:"无法从选定的文件中插入影片.文件格式可能不标准,或QuiekTime未正确安装". 遇到这种情况

php从完整文件路径中分离文件目录和文件名的方法

 这篇文章主要介绍了php从完整文件路径中分离文件目录和文件名的方法,涉及php中basename及dirname函数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php从完整文件路径中分离文件目录和文件名的方法.分享给大家供大家参考.具体分析如下: basename()函数用于从路径中获得文件名 dirname()函数用于从路径中获得文件目录 ? 1 2 3 4 5 <?php $full_name = 'c:wampphpphp.ini'; $base = b

文件名的字符编码和c的fopen函数问题

问题描述 文件名的字符编码和c的fopen函数问题 问一个问题,文件名的存储和文件名的显示应该是两回事吧 中文版windows的环境字符集是GBK GBK中"茅"的编码是 195 169(十进制) 如果我在中文版windows里看到个文件叫"a茅" 那么他的文件名在硬盘中的存储方式应该是97 195 169 我编了个c程序如下: FILE *fp; char b[100]={'a',195,169,0}; strcat(b,".html"); i

lucene 搜索-lucene对文件名、文件路径进行索引,搜索的时候不能检索出来

问题描述 lucene对文件名.文件路径进行索引,搜索的时候不能检索出来 如题,lucene对文件名.文件路径都进行了索引,因为文件名.文件路径都包含特殊字符斜杠(/)和点(.),导致搜索的时候输入文件名或者路径,都无法搜索,使用/对字符进行转义也不行,请帮忙. 部分代码如下: protected Document getDocument(File f) throws IOException { Document doc = new Document(); doc.add(new Field("

如何用win7批量修改照片文件名

本文我们就来说说Win7中一个便捷的小功能,善于利用,也许在适当的时候你会用到它,这就是给文件重命名.当然这里我们不是说单个文件,而是很多个,比如几十个几百个,总不至于你一个个的修改吧.这种场景一般会在整理照片时遇到,电脑主题之家(www.51ztzj.com)告诉你,其实可以按照一定的规则对照片批量重命名. Win7 对于文件的命名有自动批量处理的功能,不仅仅是照片的处理,或者图标,再或者文档等等,都可以批量处理.这个操作并不需要用win7下载第三方软件或者插件来辅助,完全依靠Win7系统本身

如何批量修改文件名?

  通常我们使用手机或者相机拍摄了一堆照片拷贝到电脑之后,照片的命名通常都是随机混乱的,如果要规范文件命名,你是不是会去一个一个去修改文件名呢?其实完全不需要这么麻烦,今天小编就来教大家一个批量快速修改照片文件名和添加前缀方法,方法技巧如下. 如何批量修改文件名? 一.首先将所有照片文件放置在一个文件夹当中,然后同时按住键盘上的 Ctrl + A 组合快捷键选中所有照片文件,全部选中后,再按 F2 键进行批量重命名,并输入新名称,比如"极客青年"如下图. Ps.笔记本用户,如果遇到按F

破解世界性技术难题! GTS让分布式事务简单高效

近日,2017云栖大会·深圳峰会如期举行,多项阿里云新产品对外发布.在企业级互联网架构分会场,来自阿里中间件(Aliware)的技术专家及合作伙伴,为现场参会嘉宾带来最新的传统IT架构到企业级互联网架构跨越式升级.实现互联网转型的产品及解决方案.其中高级技术专家姜宇在分享中带来的Aliware新产品-全局事务服务(Global Transaction Service ,简称GTS),在分布式事务处理上带来的高性能和技术创新令到场参会的各路技术专家眼前一亮. Aliware新成员-全局事务服务GT