在WPF中使用自定义文件扩展名保存文件

本文关键字:文件 扩展名 保存文件 自定义 WPF | 更新日期: 2023-09-27 18:08:38

我正在创建一个WPF应用程序,我想保存在应用程序中输入的值,每当用户单击"保存项目"按钮,我在我的应用程序。但是,我需要用不同的文件扩展名保存它,这样只有我的应用程序可以打开它,而不是其他文本编辑器(我不想将其保存为.txt文件)。我该怎么做呢?

在WPF中使用自定义文件扩展名保存文件

在重要的应用程序中,此设置通常在安装软件中配置,如InstallShield或Inno setup ..您可以搜索"File Association"查看配置。

给你一个快速的开始,首先我们需要在windows注册表中注册你想要的文件关联,这样当你双击文件时,它就会启动你的应用程序。

对于下面的示例,假设。myf是你想要关联的扩展名。myapp是您的应用程序的名称,C:'myapp.exe是您的可执行文件。将其保存为批处理文件,如"registermyapp.bat"并运行它。注意:您需要复制您的wpf并将您的wpf应用程序可执行文件重命名到此路径!

reg add HKCU'SOFTWARE'Classes'.myf /v "" /t REG_SZ /d "myapp" /f
reg add HKCU'SOFTWARE'Classes'myapp'shell'open'command /v "" /t REG_SZ /d "'"C:'myapp.exe'" '"%%1'"" /f

然后在您的App.xaml中,您需要重写OnStartup()方法以获得输入文件名。

   protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);
            var filename = e.Args[0];
            // do something with .myf file                
            var content = File.ReadAllText(filename);//just example
            ...
        }