c# - 确保一次最多运行一个进程

标签 c# .net c++ process

有多个应用程序,其中多个进程无法同时运行。例如,我们无法运行 Window Media Player 的两个实例。即使我们多次单击该exe,另一个进程也将不会启动!

我想知道在以下情况下如何做到这一点:

  • 如果应用程序是用 C++ 开发的。该应用程序不必是基于 GUI 的应用程序。
  • 如果应用程序是使用 .NET 技术开发的。同样,应用程序不必是基于 GUI 的应用程序。

我对此一无所知,所以甚至不知道如何适本地提出问题。如果我遗漏了任何内容(任何细节),请随时要求澄清,或在您的答案中假设(如果可能的话)。

最佳答案

通常应用程序需要在启动时尝试获取一些独特的资源;如果失败,它应该退出。独特资源的性质因环境而异——例如,它可能正在监听特定的 TCP 端口,或者锁定文件或共享内存段。当然,程序退出时需要小心释放资源。

关于c# - 确保一次最多运行一个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5771788/

相关文章:

c# - Signalr 客户端版本 1.5,服务器版本未定义

c# - 用于提取字符串特定部分的正则表达式

c# - 无法在 Vista x64 中的 C# 应用程序中加载 C++ DLL

c++ - Mat_<float> 到 OutputArray

c# - ThreadPool 中的异常代码是什么?

c# - 用户代码 datetime 未处理 FormatException

c# - 有没有办法检查串口(RS-232)连接设备的电源开/关?

c# - 如何从多个托管应用程序的大对象堆 LOH 中取回未使用的内存?

c# - 让 FluentValidation 调用具有多个参数的函数

c++ - 如何在 C++ 中实现回调?