gpt4 book ai didi

c# - 打开时读取与程序关联的序列化文件

转载 作者:行者123 更新时间:2023-11-30 17:53:01 25 4
gpt4 key购买 nike

我已经完成了我的程序,将其序列化以供保存,并创建了一个文件打开系统来打开从我的应用程序中保存的文件。我什至在注册表上创建了一个与 innosetup 的文件关联,它工作得很好。

我现在想要实现的是,每当用户双击程序中保存的文件时,程序应该读取并反序列化它。

例如,当您双击或打开 .docx 或 .doc 文件时,将打开 Microsoft Word 并读取并打开该文件。目前我的程序将打开,但我不知道如何检测它何时从文件中打开以便我可以开始反序列化。

注意:反序列化本身不是问题,它正在检测我是否应该这样做。

最佳答案

当您通过双击关联文件启动程序时,文件名将作为命令行参数传入。您指定此参数将在您的文件扩展名关联设置中出现的位置。

如果您将关联设置为:

program.exe %1

双击您的文件将导致:

program.exe C:\Folder\File.ext

这可以使用 Environment.GetCommandLineArgs() 访问或从您的 Main(string[] args) 方法:

static void Main(string[] args)
    {
        if (args.Length > 0)
        {
// Get the argument
string fileLocation = args[0];

// Load and deserialize
// Do the do
        }
    }

这是一个 MSDN article on command line arguments .

关于c# - 打开时读取与程序关联的序列化文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17859246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com