我有一个具有关联文件类型的程序。但是,当我双击一个文件来启动程序时,我无法弄清楚该路径是在哪里传递给程序的。
最初我以为文件路径会在 Environment.CommandLine 中,但命令行只包含程序路径。
我使用 Visual Studio 中的发布选项指定了文件关联,如下所示:扩展名:.ext,描述:某些文件,ProgId:ProjectName,图标:SomeIcon.ico。
我有一个具有关联文件类型的程序。但是,当我双击一个文件来启动程序时,我无法弄清楚该路径是在哪里传递给程序的。
最初我以为文件路径会在 Environment.CommandLine 中,但命令行只包含程序路径。
我使用 Visual Studio 中的发布选项指定了文件关联,如下所示:扩展名:.ext,描述:某些文件,ProgId:ProjectName,图标:SomeIcon.ico。
你是对的,它确实应该作为命令行参数传递,并且可以通过Environment.CommandLine
.
我的猜测是文件关联本身有问题。这是一篇过时但仍然有用的 TechNet 文章,介绍了这些东西是如何工作的。特别是,"%1"
下面截图中的 是必不可少的。
我不确定 DDE 的事情,所以如果你不使用它,请将其关闭。
作为猜测,您的文件类型关联可能没有正确配置。如果您在注册表中查看文件类型的“打开”命令,该命令可能配置为“c:\your-company\your-app.exe”,而不是“c:\your-company\your -app.exe" "%1",如果您希望文件路径显示在命令行上,这就是它所需要的。