用自己的应用打开自定义文件

可能重复:
如何将文件扩展名与C#中的当前可执行文件关联

所以,我正在申请学校(最终项目)。

在这个应用程序中,我有一个Project -class。 这可以保存为自定义文件,例如Test。 gpr 。 (.gpr是扩展名)。

如何让windows /我的应用程序将.gpr文件与此应用程序关联,这样如果我双击.gpr文件,我的应用程序将触发并打开文件(因此启动OpenProject方法 – 这会加载项目)。

不是问如何让Windows将文件类型与应用程序关联,我问如何在我的Visual Studio 2012代码中捕获它。

更新:由于我的问题似乎不太清楚:

atm,我什么都没做,所以我可以效仿任何最好的解决方案。 我想要的是双击.gpr,确保Windows知道用我的应用程序打开它,并在我的应用程序中捕获文件路径。

任何帮助是极大的赞赏!

使用应用程序打开文件时,该文件的路径将作为第一个命令行参数传递。

在C#中,这是Main方法的args[0]

 static void Main(string[] args) { if(args.Length == 1) //make sure an argument is passed { FileInfo file = new FileInfo(args[0]); if(file.Exists) //make sure it's actually a file { //Do whatever } } //... } 

WPF

如果您的项目是WPF应用程序,请在App.xaml添加一个Startup事件处理程序:

      

您的命令行参数现在将位于Application_Startup事件处理程序的e.Args中:

 private void Application_Startup(object sender, StartupEventArgs e) { if(e.Args.Length == 1) //make sure an argument is passed { FileInfo file = new FileInfo(e.Args[0]); if(file.Exists) //make sure it's actually a file { //Do whatever } } }