代码之家  ›  专栏  ›  技术社区  ›  Erich Kitzmueller

.net compact framework:避免同时启动两次程序

  •  4
  • Erich Kitzmueller  · 技术社区  · 15 年前

    如何避免用户启动同一程序两次? 当前的实现试图使用“FindWindow”来实现这一点,但由于程序打开第一个窗口需要一些时间,因此用户通常会尝试启动程序两次,从而导致错误等。

    2 回复  |  直到 15 年前
        1
  •  4
  •   ctacke    15 年前

    您必须使用一个命名的互斥体,以便它可以跨进程使用。无论出于何种(愚蠢的)原因,CF设计师认为CF开发人员永远不会需要这样的东西,因此您有两种选择:

    1. P/Invoke CreateMutex和相关的清理工具
    2. 使用已经编写好的实现,比如SDF NamedMutex class

    实际上还有第三种选择。自卫队的 Application2 class 他有一对 Run method overloads

        2
  •  2
  •   Joshua Barker    14 年前

    使用以下命令: http://msdn.microsoft.com/en-us/netframework/bb943002.aspx

    许多替代方案要么太复杂,要么不是一直有效。