如何获取用于启动程序的关联文件的路径?
问题描述:
我有一个关联文件类型的程序。但是,当我双击一个文件启动程序时,我无法确定该路径传递到程序的位置。如何获取用于启动程序的关联文件的路径?
最初我以为文件路径将在Environment.CommandLine中,但命令行只包含程序路径。
我使用visual studio中的发布选项指定文件关联,如下所示:extension:.ext,说明:某些文件,ProgId:ProjectName,图标:SomeIcon.ico。
答
你是对的,它应该确实作为命令行参数传递,并通过Environment.CommandLine
可用。
我的猜测是文件关联本身有问题。 Here是一个过时但仍然有用的TechNet文章,介绍这些工作如何工作。特别是,下面的截图中的"%1"
是必不可少的。
我不知道的DDE的事情,所以如果你不使用它,把它关掉。
答
作为猜测,您的文件类型关联可能没有正确配置。如果您在注册表中查看文件类型的“打开”命令,该命令可能被配置为“c:\ your-company \ your-app.exe”,而不是“c:\ your-company \ your -app.exe“”%1“,如果你希望文件路径显示在命令行上,这就是它所需要的。
不应该Visual Studio正确设置该属性? – 2010-03-24 18:53:26