【问题标题】:How can I perform Application.Restart() in Windows Mobile 6?如何在 Windows Mobile 6 中执行 Application.Restart()?
【发布时间】:2009-08-31 17:14:46
【问题描述】:

我需要重新启动一个 windows mobile 6 应用程序。

这是我尝试过的代码,但它只是退出并且没有重新启动应用程序。

public static void RestartApplication()
{
   var fileName = Assembly.GetExecutingAssembly().GetName().CodeBase;
   var startInfo = new ProcessStartInfo
   {
      FileName = fileName,
   };
   Process.Start(startInfo);
   Application.Exit();
}

谢谢!

【问题讨论】:

  • 应用程序没有再次运行的可能原因是因为紧凑框架自动处理单个实例,所以当你第二次运行它时(因为应用程序还没有关闭)它只会带来你的应用程序在前面。

标签: windows-mobile compact-framework


【解决方案1】:

【讨论】:

  • 其实你可能10秒都设置不了。 CeRunAppAtTime 的默认平台实现要求时间在未来 11 秒以上,否则立即调度。 OEM 很少会更改它,所以它会安排它现在发生,并且第二个实例尝试在调用实例关闭之前启动。
【解决方案2】:

我试过这个代码在 Windows CE 6 上运行起来就像一个魅力。

this.Close();
Process.Start(Assembly.GetExecutingAssembly().GetName().CodeBase, "");

在互联网上很难找到一种简单的方法来重新启动 Windows CE 上的应用程序,所以我发布了我发现的内容。我希望这可以帮助某人节省时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多