正在检测活动文件的路径
Detecting path of active file
对于我当前的程序,有必要检测当前活动文件的路径,例如,我的程序应该在后台运行(没有问题),当你输入一个特殊的快捷方式时,它必须查看前台的文件(pdf/a doc/whatever),并找出该文件的路径
这可能吗?如果可能,怎么做?我在Windows机器上使用C++
非常感谢!
给定进程ID
如果您知道文件的PID(进程ID),您可以使用windows API,正如您提到的那样,使用EnumProcesses枚举进程列表,然后使用OpenProcess返回一个句柄,您可以在.上使用GetModuleFileNameEx
那里的链接应该提供足够的信息来使用API。基本原则是根据进程的句柄或进程ID来识别进程,然后使用windows API获取所需的信息。
给定文件句柄
如果您有该文件的句柄,可以查看Vista或更高版本上的GetFinalPathNameByHandle。尽管该链接还提供了有关使用早期版本的文件映射的信息。
正如其他人所说,如果你自己打开文件,你可能只想使用state来维护最初使用的位置
在Linux上,我会使用lsof-list打开的文件和grep,这很有趣。在进程监视器或文件监视器的Windows批处理模式下(来自SysInternal)
我认为这是一个非常类似的问题:如何确定特定文件是否在Windows中打开?
(也许这就是你获得-1的原因。)
找到了解决问题的方法:我可以使用WinAPI函数"FindWindow"answers"GetWindowText"。
相关文章:
- 无法删除 c++ 中具有完整路径的文件
- 如何在C Winapi中获取活动文件Explorer窗口的路径
- 使用路径作为文件存储中的键
- C++ boost::文件系统如何检测路径是文件还是目录
- Visual Studio单元使用具有相对路径的文件测试
- 使用Android NDK从字符串路径打开文件
- C++ - 无法在 Windows 中从网络路径打开文件
- 查找带有过滤器路径的文件
- 问题:如何在任何Windows机器上使用路径创建文件
- 是否可以从一系列路径迭代器或子路径创建文件系统 TS basic_path
- 如何将执行路径与文件路径和参数分开
- 服务器应用程序看不到具有相对路径的文件
- 如何获取具有某个路径的文件或目录的真实完整路径
- 如何在C++中打开具有相对路径的文件
- 使用字符串在C++中指定文件路径(将文件存储在文件夹中)
- 如何获取完整路径的文件夹和文件部分
- 在Qt Creator中加载具有相对路径的文件
- 如何检查C++中是否存在具有相对路径的文件
- 如何在C++中编写一段代码以查找系统路径上文件的完整路径
- 正在检测活动文件的路径