如何获得已经打开的文本文件的实际存储路径??? 如何获得用NotePad已经打开的文本文件的实际存储路径??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://community.csdn.net/Expert/topic/5601/5601470.xml?temp=.5651514 添加那个模块然后:Private Sub Command1_Click() Dim I As Long I = Shell("notepad " & "D:\Temp\123.txt", vbMinimizedNoFocus) MsgBox GetRemoteCmdLine(I)End Sub你试了再说. 好像没有明白我的意思:如何获得用NotePad已经打开的文本文件的实际存储路径???这个文本已经打开了。已知条件就是一个用记事本打开的文本文件。要知道它的存储路径。我不知道它的路径,I = Shell("notepad " & "D:\Temp\123.txt", vbMinimizedNoFocus)里面D:\Temp\123.txt是怎么来的???根本就是两回事。 当你点击这个记事本的菜单上面的save as的时候,会出现这个文件默认的路径,需要知道的就是这个。这样讲,清楚点了吗? LZ的意思大概要通过其他程序知道NOTEPAD 打开的文件路径 一般不允许这么做,因为NOTEPAD打开的文件是属于其子窗口或子类干的事情,你要知道窗口干的事必须由父窗口告诉你,否则就不符合封装的要求了。但可以做到,但是比较复杂,如果要写出代码及调试,至少得花半个小时。思路如下:1、用API检查是否运行NOTEPAD,即是否有class name=“notepad”的窗口运行。2、获取此窗口句柄,获取窗口标题。 标题名其格式为:“xxxx.yyy - 记事本”。“xxxx.yyy”即为打开的文件名。如:step.txt - 记事本3、问题就归结到了,查找此文件名路径。 哈哈,收索硬盘是可以的,就是笨了点,另外可能会出来多个结果。直接收索此处:C:\Documents and Settings\username\Recent 但此目录下是快捷方式,你的处理出其具体的路径。如果不知道username,还得增加找出username。即便如此,还是会有可能出现多个同名文件。总之麻烦,谁叫你要做违反编程规章的事务呢。 LZ 我们是在帮你解决问题 就算答错了你也要说声谢谢关注 何况还答对了???然后给LZ个建议 从基础开始。 实际上,楼主说你没有真正解决,也是有道理的!就比如说文本文件,如先打开notepad,再用notepad打开文件,哪样,你就不能用getcmdline方式来取得它打开了什么文件了! 一般来说,NotePad打开一个文件,会把文件的路径存放于内存某处,而且其偏移地址固定不变!如果你只想知道用NotePad已经打开的文本文件的实际存储路径,哪么你可用winhex之类软件,查出其存放文件路径的内存偏移地址,然后用readprocessmemory读它,可知其实际路径!但这样不具有通用性当然,对于文件以参数方式被打开的,可以用上面老马、八神等人说的. IORI915189(八神) ( ) 信誉:100 2007-7-23 19:58:30 得分: 0 LZ 我们是在帮你解决问题 就算答错了你也要说声谢谢关注 何况还答对了???然后给LZ个建议 从基础开始。//顶八神本来还想帮你跟踪一下记事本的,看来还是留着这时间我自己学点东西算了..... 散分:工作经历,待遇变化,现在是留还是走,谈谈你的看法 如何动态生成WebBrowser 快捷方式 Remote Desktop 管理不了我的远程服务器了!!急,急,急! 【请问用Shell调用Copy文件的问题 !!!】 300分 求解ADO调用Oracle 存储过程的问题 怎样遍历某节点下所有子节点?在线等待,结贴 请问怎么把VB6.0的TOOLBAR控件作出来的工具栏上的按钮设置为不可用啊 还是老问题:运行时出现了“对象关闭时不允许操作”实时错误3704,请问大家怎么改呢?谢谢! 最菜的问题:ActiveReprot是什么? 一个文件操作的问题求助! VB 判断文件中是否有某字符
Dim I As Long
I = Shell("notepad " & "D:\Temp\123.txt", vbMinimizedNoFocus)
MsgBox GetRemoteCmdLine(I)
End Sub你试了再说.
1、用API检查是否运行NOTEPAD,即是否有class name=“notepad”的窗口运行。
2、获取此窗口句柄,获取窗口标题。 标题名其格式为:“xxxx.yyy - 记事本”。“xxxx.yyy”即为打开的文件名。如:step.txt - 记事本
3、问题就归结到了,查找此文件名路径。
但此目录下是快捷方式,你的处理出其具体的路径。
如果不知道username,还得增加找出username。
即便如此,还是会有可能出现多个同名文件。总之麻烦,谁叫你要做违反编程规章的事务呢。
就算答错了你也要说声谢谢关注 何况还答对了???
然后给LZ个建议 从基础开始。
就比如说文本文件,如先打开notepad,再用notepad打开文件,哪样,你就不能用getcmdline方式来取得它打开了什么文件了!
如果你只想知道用NotePad已经打开的文本文件的实际存储路径,哪么你可用winhex之类软件,查出其存放文件路径的内存偏移地址,然后用readprocessmemory读它,可知其实际路径!但这样不具有通用性
当然,对于文件以参数方式被打开的,可以用上面老马、八神等人说的.
LZ 我们是在帮你解决问题
就算答错了你也要说声谢谢关注 何况还答对了???
然后给LZ个建议 从基础开始。//顶八神本来还想帮你跟踪一下记事本的,看来还是留着这时间我自己学点东西算了.....