从Windows

时间:2016-05-13 03:49:39

标签: windows winapi

我已经编辑了windows注册表,以便可以使用我制作的程序打开所选文件(从上下文菜单中的选项)。具体来说,在特定的文件类型下,我添加了' shell'密钥和它下面的命令'包含" C:\ MyProgram.exe%1"的字符串的键。该文件打开正确,但我的程序收到旧8.3格式的文件名,我需要完整的文件名来显示。我该如何解决这个问题?

副任务:如何在一个程序调用中打开多个文件作为多个参数,而不是打开单独的实例,每个实例只有一个参数(%1)?

2 个答案:

答案 0 :(得分:1)

获取完整路径名的最简单方法是致电GetLongPathName。在C ++中,您将使用以下内容:

{{1}}

答案 1 :(得分:0)

对于问题的第一部分,IInspectable建议。

但是,如果你想做一些更奇特的事情,简单的注册表修改将无法做到。您需要Windows Shell Extension并实施Context Menu handler。我创建了一个链接:hereherehere。并且已经存在类似的问题like this