gpt4 book ai didi

c# - 在 Windows 窗体应用程序中访问以自定义文件类型保存的数据

转载 作者:太空宇宙 更新时间:2023-11-03 13:23:18 26 4
gpt4 key购买 nike

我有一个设置了自定义文件扩展名的 Windows 窗体应用程序。我能够将数据保存到我的文件中,当我从 Windows 双击我保存的文件时,它会启动我的应用程序。

但是,我无法获得我单击以读取其数据的文件的名称。一切似乎都告诉我 args[0] 应该是 exe(如我所见),args[1] 将是下一个参数(可能是我正在寻找的;我点击的文件名)但是 args.Length总是只有1,无论我直接打开exe还是点击启动exe的文本文件,我都没有我点击的文件名。

Edit (resolved; ish):好的,终于确定了一个更具体的问题。我的应用程序是使用 ClickOnce 部署的,我通过 Windows 窗体应用程序属性设置了所有文件关联。当我右键单击并查看我保存的自定义文件的属性时,它显示“打开方式:ClickOnce 应用程序部署支持库”而不是我的应用程序名称。如果我将默认值更改为使用我的 .exe 打开,神奇的是它具有正确的 arg 值(exe,后跟我单击的文件名)。

最佳答案

您无法直接访问 ClickOnce 应用程序的命令行参数。为了找到它们,我使用了以下内容,对 here 进行了一些修改:

System.Runtime.Hosting.ActivationArguments args = AppDomain.CurrentDomain.SetupInformation.ActivationArguments;
if (args.ActivationData != null)
{
foreach (string commandLineFile in AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData)
{
MessageBox.Show(string.Format("Command Line File: {0}", commandLineFile));
}
}

这给了我点击的文件名。万岁。

关于c# - 在 Windows 窗体应用程序中访问以自定义文件类型保存的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23356286/

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