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

How Do I Give My C++ Application The File Path Of The File Clicked To Open Said Application

本文关键字:应用程序 文件 路径 单击 我的 C++      更新时间:2023-10-16

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

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

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

Windows不知道你的程序应该如何启动。也许是d:pathtoexefoo.exe --no-spash --input-file "C:what youclicked.foofile".这就是为什么你输入一个注册表项,告诉Windows。

现在当然有一部分字符串,你不知道上面,这

当然是"C:what youclicked.foofile"。在注册表项中,使用 "%1" 和 Windows 将替换实际路径。不要忘记" ",因为路径可以包含空格,否则您的路径最终会变成 argv[1] argv[2] .这在XP中尤其常见,My Documents.

文件调用的路径将存储在"char* argv[]"中,作为"argv[0]"或"argv[1]"(抱歉记不清了,我的C++有点生锈)。"int argc" 只是列出了 "char* argv[]" 中存在多少个元素