如何强制 C# .net 应用程序在 Windows 中仅运行一个实例? [复制]

2023-12-02

可能的重复:
创建单实例应用程序的正确方法是什么?

如何强制 C# .net 应用程序在 Windows 中仅运行一个实例?


我更喜欢类似于以下的互斥解决方案。这样,如果应用程序已加载,它会重新关注该应用程序

using System.Threading;

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);

/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
   bool createdNew = true;
   using (Mutex mutex = new Mutex(true, "MyApplicationName", out createdNew))
   {
      if (createdNew)
      {
         Application.EnableVisualStyles();
         Application.SetCompatibleTextRenderingDefault(false);
         Application.Run(new MainForm());
      }
      else
      {
         Process current = Process.GetCurrentProcess();
         foreach (Process process in Process.GetProcessesByName(current.ProcessName))
         {
            if (process.Id != current.Id)
            {
               SetForegroundWindow(process.MainWindowHandle);
               break;
            }
         }
      }
   }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何强制 C# .net 应用程序在 Windows 中仅运行一个实例? [复制] 的相关文章

  • 为什么禁止在 constexpr 函数中使用 goto?

    C 14 对你能做什么和不能做什么有规则constexpr功能 其中一些 没有asm 没有静态变量 看起来相当合理 但标准也不允许goto in constexpr功能 即使它允许其他控制流机制 这种区别背后的原因是什么 我以为我们已经过去
  • C# 中值类型和引用类型有什么区别? [复制]

    这个问题在这里已经有答案了 我知道一些差异 值类型存储在堆栈上 而引用类型存储在托管堆上 值类型变量直接包含它们的值 而引用变量仅包含对托管堆上创建的对象位置的引用 我错过了任何其他区别吗 如果是的话 它们是什么 请阅读 堆栈是一个实现细节
  • 使用 C# 在 WinRT 中获取可用磁盘空间

    DllImport kernel32 dll SetLastError true static extern bool GetDiskFreeSpaceEx string lpDirectoryName out ulong lpFreeBy
  • win32 GUI 应用程序在作为“app.exe --help”调用时将使用文本写入标准输出

    如何创建执行以下操作的 Windows 应用程序 当不使用命令行参数调用时 它是一个常规的 GUI 应用程序 指定可选的 help 命令行参数会导致应用程序将使用文本写入标准输出 然后终止 它必须是单个可执行文件 让控制台应用程序执行第二个
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • 线程、进程和 Application.Exit()

    我的应用程序由主消息循环 GUI 和线程 Task Factory 组成 在线程中我调用一些第三方应用程序var p new Process 但是当我调用Application Exit 在消息循环中 我可以看到在线程中启动的进程仍在内存中
  • *.tlb 文件在运行时使用过吗?

    我正在开发一个通过 COM 互操作公开一些 NET API 的产品 作为构建的一部分 我们为所有此类程序集生成 tlb 文件 并将它们作为单独 SDK 包的一部分提供 我们的客户可以在我们的产品之上安装 SDK 并创建使用我们的 COM A
  • select() 可以在 Windows 下使用 Python 中的文件吗?

    我正在尝试在 Windows 下运行以下 python 服务器 An echo server that uses select to handle multiple clients at a time Entering any line o
  • 像“1$”这样的位置参数如何与 printf() 一起使用?

    By man I find printf d width num and printf 2 1 d width num 是等价的 但在我看来 第二种风格应该与以下相同 printf d num width 然而通过测试似乎man是对的 为什
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 什么是 C 语言的高效工作流程? - Makefile + bash脚本

    我正在开发我的第一个项目 该项目将跨越多个 C 文件 对于我的前几个练习程序 我只是在中编写了我的代码main c并使用编译gcc main c o main 当我学习时 这对我有用 现在 我正在独自开展一个更大的项目 我想继续自己进行编译
  • 让 Jenkins 对远程用户不可见

    我的本地 Windows 设备上有一个 Jenkins 服务器 但我想让它对外界不可见 有关服务器的办公室规则 明显且不隐晦的 效果令人满意的方法是设置防火墙规则来阻止对其端口的传入访问 但我认为必须有一个 Jenkins 设置来阻止它向除
  • 方法参数内的变量赋值

    我刚刚发现 通过发现错误 你可以这样做 string s 3 int i int TryParse s hello out i returns false 使用赋值的返回值是否合法 Obviously i is but is this th
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 如何将字符串“07:35”(HH:MM) 转换为 TimeSpan

    我想知道是否有办法将 24 小时时间格式的字符串转换为 TimeSpan 现在我有一种 旧时尚风格 string stringTime 07 35 string values stringTime Split TimeSpan ts new
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co
  • 不同类型的指针可以互相分配吗?

    考虑到 T1 p1 T2 p2 我们可以将 p1 分配给 p2 或反之亦然吗 如果是这样 是否可以不使用强制转换来完成 或者我们必须使用强制转换 首先 让我们考虑不进行强制转换的分配 C 2018 6 5 16 1 1 列出了简单赋值的约束

随机推荐

  • jaxrs 找不到 joda.money 类型的自定义(反)序列化器

    我已经编写了我的自定义 反 序列化器joda money Money类型 我用对象映射器注册它们 但是当我部署 war 文件时 它说找不到 joda money Money 类型的序列化器 import org joda money Mon
  • 如何以编程方式比较 R 中的整行?

    我在 R 中有以下数据框 data Time X1 X2 X3 1 1 0 0 2 1 1 1 3 0 0 1 4 1 1 1 5 0 0 0 6 0 1 1 7 1 1 1 8 0 0 0 9 1 1 1 10 0 0 0 有没有办法以编
  • Flume-ng 拖尾文件

    我试图了解如何使用 Flume ng 尾部文件 以便可以将数据推送到 HDFS 中 在第一个实例中 我设置了一个简单的conf文件 tail1 sources source1 tail1 sinks sink1 tail1 channels
  • PHP 默认函数参数为 T_VARIABLE?

    我试图提供一个成员变量作为类方法的默认值 我知道不可能使用变量作为非类函数的默认值 但似乎应该有一种方法可以在类中执行此操作 一定有办法做到这一点 也许我只是语法错误 class test private test construct th
  • 共享首选项“限制”

    我知道与此类似的问题已被问过很多次 并且通过浏览所以我部分找到了答案 但不完整 并且 android 文档并没有真正的帮助 显然 我知道它们是如何工作的 并且之前多次使用过共享首选项 但我想知道什么时候 多少 太多了 我读过人们存储了 10
  • GIMP:从文件夹中的所有图像文件创建图像堆栈

    我需要比较需要堆叠大量图像的分割算法的结果 例如原始图像和二值图像 所以我想到了一个 GIMP 脚本 它采用一个目录的名称 并将所有包含图像文件放入图层中 以便可以在 GIMP 中打开和关闭它们以比较结果 如何用 GIMP 实现这一点 谢谢
  • Visual Studio 2013 Update 4 和 Apache Cordova CTP3 在没有断点的 Javascript 行上中断/停止

    我正在运行 Visual Studio 2013 Update 4 并安装了 Apache Cordova CTP3 工具 创建一个全新的 Apache Cordova 项目并对其进行调试后 它会在没有断点的看似随机的 JavaScript
  • flink 1.3.1 弹性搜索 5.5.1。 ElasticsearchSinkFunction 失败并出现 java.lang.NoSuchMethodError

    我正在使用以下示例Scala sbt flink elasticsearch kibana Flink教程 My built sbt包括以下版本 libraryDependencies Seq org apache flink flink
  • 无法使用 gradle 按类别包含/排除 Junit 测试类

    给定这些接口 testclient priority High testclient priority Low 和一个像这样注释的 junit 类 Category testclient priority High class public
  • 如何将XML文本转换为表格格式

    在下面的示例中 我们尝试将 XML 数据转换为 HTML 但这里我们面临着由于元素不一致而面临的挑战 如 和 Note 如果我们从 中删除 元素 则 xslt 代码可以正常工作 参考网址 https xsltfiddle liberty d
  • MySQL 多个字段的唯一索引

    我们的数据库中有一种特殊的表 它本身存储其更改的历史记录 所谓的 自存档 表 CREAT TABLE coverages id INT primary key auto increment subscriber id INT current
  • Java:正确关闭多线程服务器的套接字

    我正在尝试创建一个多线程服务器 多个客户端可以连接并提供服务 但是 我不确定在需要时如何正确释放我的资源 我的服务器运行一个输入线程 等待用户输入 和一个处理线程 处理连接和用户 我在服务器类中打开一个 ServerSocket 并将其传递
  • 使用 window.location.assign 加载页面后调用 javascript 函数

    使用 window location assign 加载页面后是否可以调用 javascript 函数 我有这个代码 我加载页面 然后调用 ReadEnglish 这是在spirituality php 中定义的函数 该函数不执行 使该函数
  • Android Hello World 异常

    我正在尝试让这个 hello world android 应用程序正常工作 我经历了这个安装过程 并了解了使用 Hello World 应用程序启动和运行它是多么容易 我运行了简单的 hello world 应用程序 完全按照它所说的每一步
  • 什么是双向绑定?

    我读过很多关于 Backbone 不进行双向绑定的文章 但我并不完全理解这个概念 有人能给我一个例子 说明两种方式绑定如何在 MVC 代码库中工作以及如何在 Backbone 中工作吗 双向绑定意味着 当模型中的属性更新时 UI 也会更新
  • Ruby:“gem install bundler”未安装捆绑程序

    我是 Rails 新手 正在尝试启动并运行演示应用程序 我在 Linux 系统 lubuntu 大部分是全新安装 上运行 捆绑安装 时遇到问题 即使确实如此 如果我关闭终端并启动另一个终端 它也无法再次运行 这个循环看起来像这样 sandb
  • 登录到 SQL Server 触发器中的表

    我正在编写 SQL Server 2005 触发器 我想在触发器执行期间使用 INSERT 语句到我的日志表中进行一些日志记录 当执行过程中发生错误时 我想引发错误并取消导致触发器执行的操作 但不丢失日志记录 实现这一目标的最佳方法是什么
  • 如何使用 ASP.NET MVC 维护用户会话

    大家好 我想知道有什么方法可以在不使用 ASP NET MVC 中的成员身份的情况下维护登录 注销 用户会话等内容 Faraaz 您所指的领域涉及三种提供商模型 The 会员提供者涉及身份验证 验证用户并存储与用户相关的数据 例如上次登录日
  • 如何在Python中搜索和替换?

    如何在 ABC D1234 等字符串中添加字符 使其变为 ABC D 1234 另外 如何在前 2 个数字后添加字符 即从 ABC D1234 到 ABC D12 34 非常感谢 这取决于您用来决定在何处插入额外字符的规则 如果你想要它在第
  • 如何强制 C# .net 应用程序在 Windows 中仅运行一个实例? [复制]

    这个问题在这里已经有答案了 可能的重复 创建单实例应用程序的正确方法是什么 如何强制 C net 应用程序在 Windows 中仅运行一个实例 我更喜欢类似于以下的互斥解决方案 这样 如果应用程序已加载 它会重新关注该应用程序 using