【发布时间】:2015-01-02 13:42:04
【问题描述】:
我已经按照本教程创建了自己的文件扩展名:http://www.codeproject.com/Articles/17023/System-File-Association
到目前为止,它运行良好。我只有一件事无法解决。 当我双击具有该扩展名的文件时,我的程序将打开。现在,我想在我的程序中执行一个操作。我在这里浏览了一些线程并读到文件路径自动传递给启动参数。
问题是没有传递单个参数,Process.GetCurrentProcess().StartInfo.FileName 返回一个空字符串。我认为这是连续的,因为双击文件时我没有传递任何参数。
这是我的代码:
var fai = new FileAssociationInfo(".extension");
if (!fai.Exists)
{
try
{
fai.Create("My Extension Program");
var pai = new ProgramAssociationInfo(fai.ProgId);
if (!pai.Exists)
{
pai.Create("My Program File",
new ProgramVerb("Open", Application.ExecutablePath);
pai.DefaultIcon = new ProgramIcon(Application.ExecutablePath);
}
}
}
如您所见,我只通过应用程序的路径来打开它。但是我现在如何将文件路径作为参数传递?我见过,例如文章作者将“%1”作为参数传递,我也尝试过,但没有任何改变。
提前致谢。
【问题讨论】:
标签: c#