Application.Restart 不传回参数

2024-01-11

这是一个 ClickOnce 应用程序。根据文档 http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=EN-US&k=k%28SYSTEM.WINDOWS.FORMS.APPLICATION.RESTART%29;, "如果您的应用程序最初在首次执行时提供了命令行选项,则“重新启动”将使用相同的选项再次启动该应用程序。“。但我不知道这是否适用于 ClickOnce 应用程序。如果是,我做错了什么?

这是我的代码:

public Form1()
{
    InitializeComponent();         
    textBox1.Text = string.Join(Environment.NewLine, GetCommandLineFile());
}

private static string[] GetCommandLineFile()
{
    if (AppDomain.CurrentDomain != null &&
        AppDomain.CurrentDomain.SetupInformation != null &&
        AppDomain.CurrentDomain.SetupInformation.ActivationArguments != null &&
        AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData != null &&
        AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData.Any())
    {
        return AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData;
    }
    else return new string[] { };
}

private void button1_Click(object sender, EventArgs e)
{
    Application.Restart();
}

我将我的应用程序与.abc扩展名,当我双击我的.abc文件时,应用程序将以文件名作为唯一参数启动,但是当我重新启动时(通过按我的button1), GetCommandLineFile()将返回一个空数组。


我相信Application.Restart是为标准命令行参数而设计的,而不是 ClickOnce 应用程序处理它的方式。

查看微软的代码Application.Restart,他们显式检查应用程序是否是 ClickOnce 应用程序,然后重新启动它without任何正在传递的参数。任何其他应用程序,获取Environment.GetCommandLineArgs()解析并发送到新进程。

我认为更好的解决方案不是将参数写入文件,而是简单地启动一个新进程,如下所示:

"path\Application Name.appref-ms" arg1,arg2,arg3

这样,当您的应用程序启动时,GetCommandLineFile()应该再次抓住论点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Application.Restart 不传回参数 的相关文章

  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • Access Services 和 SharePoint 2010 - 需要信息

    我被要求研究将 Access 解决方案直接发布到 SharePoint 的能力 如下面的演示所示 http channel9 msdn com shows Access Microsoft Access 2010 Demo http cha
  • 如何设置标题栏的背景?

    我已按照此问题的说明进行操作 如何更改操作栏上的文本 https stackoverflow com questions 3438276 change title bar text in android 我能够成功创建自己的标题栏 但是当我
  • facebook django 应用程序的 oauth 中的 redirect_uri 错误

    我在从 Facebook 获取我正在尝试编写的 Django 应用程序的访问令牌时遇到问题 我的视图设置如下 from django http import HttpResponse HttpResponseRedirect from dj
  • 在 ScalaTest 中对集合元素使用 HavePropertyMatcher?

    我已经使用 ScalaTest 的 FeatureSpec 有几天了 我试图了解是否可以使用内置匹配器定义以下规范 如果不能 我如何编写合适的自定义匹配器 假设我有课本 case class Book val title String va
  • GPC 多边形初始化

    我正在使用 GPC多边形裁剪库 http www cs man ac uk toby alan software并想以编程方式创建多边形 我只看到如何从文件创建一个的代码 如何在我的代码中进行初始化 从您的链接中更好地阅读 找到doc ht
  • 当大小太大时,vector.resize 函数会损坏内存

    发生的情况是我正在读取加密数据包 并且遇到一个损坏的数据包 该数据包返回一个非常大的长度随机数 size t nLengthRemaining packet nLength packet m pSource gt GetPosition p
  • Lex VHDL '(勾号)令牌

    在 VHDL 中 字符可用于封装字符标记ie 或者它可以作为属性分隔符 类似于 CPP 的 token ie string hello 解析包含字符的属性名称时出现问题ie string a b c 在这种情况下 天真的词法分析器将错误地标
  • 如何在 Perl 中读取文件并执行 grep 操作?

    open MR
  • plotly::sublot 不显示两个标题

    我正在尝试绘制两个plotly一起绘制在R using plotly subplot 问题是子图没有显示titles两者的plots 类似问题的其他答案建议使用facet wrap or plot ly 但我正在寻找一个适用于ggplotl
  • 在docker容器之间共享数据而不使数据持久化

    假设我有一个包含两个容器的 docker compose 文件 version 3 services app image someimage fpm alpine volumes myvolume var www html web imag
  • 无法在 Swift 框架中导入 Common Crypto [重复]

    这个问题在这里已经有答案了 在 Xcode 中 当我尝试通过 Swift 框架中的桥接头文件添加 Objective C 库 Common Crypto 时 使用 import
  • 为什么 C++11 不支持匿名结构,而 C11 却支持?

    C11 支持匿名结构 如下所示 struct Foo struct size t x y struct Foo f f x 17 f y 42 基本上 这样一个组织的成员struct被视为就好像他们是封闭的成员struct or union
  • Android 捏合/缩放和 glfrustum

    我使用以下命令绘制了几个 2D 形状OpenGL http en wikipedia org wiki OpenGL现在我想添加捏合 缩放 我的观点是透视图 顶视图 我假设它是 3D z 轴 0 现在 我应该如何更改 glfrustum 并
  • 动态重新编译并重新加载类

    我正在用java构建一个可以接收java源文件的服务器 它应该使用JavaCompiler动态编译它 然后加载该类 然而问题是 如果服务器收到一个具有相同名称但内容不同的文件 它仍然会加载以前的类并给出相同的输出 我注意到一些答案建议为我尝
  • C# - 如何将 10 个字节转换为 unsigned long

    我有 10 个字节 4 个字节的低位 4 个字节的高位 2 个字节的最高位 我需要将其转换为无符号长整型 我尝试了几种不同的方法 但都不起作用 Try 1 var id BitConverter ToUInt64 buffer 0 Try
  • 如何使用 ember-rails gem 为我的 HandlebarsJS 模板指定替代目录?

    我有一个 Rails 应用程序 并且在前端使用 Ember 我想将目录结构中与 ember 相关的文件下移一级 但当我这样做时 模板不再呈现 在应用程序的普通工作版本中 我的目录结构是 app assets javascripts appl
  • 当小部件在颤动中变得可见时,如何为其设置动画?

    我想向我的应用程序中的某些小部件添加一些动画 但这些小部件在用户向下滚动之前不可见 我希望这些动画在小部件变得可见时发生 通常我会在initState但这只会在第一次绘制小部件时才会产生动画 而不是在它对用户可见时才会产生动画 有这样的活动
  • 无法找到compileTestGroovy Gradle Build的循环依赖关系

    我收到了compileTestGroovy任务Gradle的stackOverflowError https docs gradle org current userguide groovy plugin html https docs g
  • C#中如何将整数转换为二进制字符串?

    我正在写一个数字转换器 如何在 C 中将整数转换为二进制字符串而不使用内置函数 Convert ToString根据给定的值做不同的事情 二进制 gt 符号幅度 二进制 gt 补码 二进制 gt 二进制补码 简单的解决方案 IntToBin
  • Application.Restart 不传回参数

    这是一个 ClickOnce 应用程序 根据文档 http msdn microsoft com query dev10 query appId Dev10IDEF1 l EN US k k 28SYSTEM WINDOWS FORMS A