如何提供我的C ++应用程序文件的文件路径单击以打开所述应用程序

时间:2013-09-30 16:03:06

标签: c++ windows eclipse

我有一个使用自定义文件类型的应用程序,我已将这些文件类型与我的应用程序(Windows文件系统)相关联。当我双击文件时我的应用程序打开,但我希望能够从文件传入数据。

我曾希望将文件路径发送到main,但没有这样的运气。每当我通过单击文件'argc'打开应用程序时,读取'0'。打开应用程序通常会将'argc'设为'1'。

有没有办法传入用于打开应用程序的文件路径?

2 个答案:

答案 0 :(得分:1)

Windows不知道先验您的程序应该如何启动。也许是d:\path\to\exe\foo.exe --no-spash --input-file "C:\what you\clicked.foofile"。这就是为什么你输入一个注册表项来告诉Windows。

现在当然有一部分字符串在你之前不知道,当然是"C:\what you\clicked.foofile"。在注册表项中,使用"%1",Windows将替换实际路径。不要忘记" ",因为路径可以包含空格,否则您的路径最终会显示在argv[1] argv[2]中。这在XP中尤为常见,My Documents

答案 1 :(得分:0)

文件调用的路径将作为“argv [0]”或“argv [1]”存储在“char * argv []”中(抱歉没记错,我的C ++有点生疏)。 “int argc”只列出“char * argv []”

中存在多少个元素