gpt4 book ai didi

c# - 根据安装时间打开不同的表格

转载 作者:太空宇宙 更新时间:2023-11-03 15:07:20 25 4
gpt4 key购买 nike

我有一个 winform 应用程序。我想在安装过程中根据情况打开不同的窗体,

    static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (something)
{
Application.Run(new Form1());
}
else
{
Application.Run(new Form2());
}
}

我正在使用生成 setup.exe 文件的 VS 发布选项卡发布我的应用程序。现在我不知道要通过 setup.exe 将它们放入我的 Main 方法中。我尝试运行 setup.exe 使用,

setup.exe MyParam=MyParam
setup.exe "MyParam=MyParam"
setup.exe "MyParam"
setup.exe MyParam
setup.exe /q "MyParam=MyParam"
and so on

然后在我尝试的 Main 方法中,

AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData

在上述每种情况下都返回 null(我的意思是当我运行 setup.exe 时将调用 Main 方法)。

然后我试了一下,

Environment.GetCommandLineArgs()

其中包括正在运行的 exe 的路径(在临时文件夹中)。然后我试了一下,

args.Length

它返回 0。然后我创建了属性,

public static string MyParam{ get; set; }

始终返回 null。所以,我的问题是如何将参数传递给将被传送到我的应用程序 exe 的 setup.exe?由于公司政策,我除了运行 setup.exe 别无选择。

更新:现在我正在使用此处给出的查询字符串方法,http://madskristensen.net/post/url-parameters-in-clickonce-applications

最佳答案

运行和安装您的应用程序是完全不同的两件事。

当您启动您的应用程序时,您可以根据“某物”选择要显示的表单。没关系。但是之前,当您通过设置安装应用程序时,应用程序并未启动,因此不可能传递“某些东西”。

我认为您在谈论一些配置选项,这些选项在安装您的应用程序时定义,并且在稍后运行该应用程序时使用。因此,您的安装程序可能会创建一个配置文件,稍后您的应用程序可以使用该文件。

关于c# - 根据安装时间打开不同的表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42780612/

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