gpt4 book ai didi

c++ - 如果应用程序在启动新实例之前已经在运行,如何在 C++ 中检查?

转载 作者:可可西里 更新时间:2023-11-01 12:04:18 25 4
gpt4 key购买 nike

我找到了一些关于实现的引用,但只有 C++ 中的一个清晰描述(Joseph Newcomers 文章 http://www.flounder.com/nomultiples.htm#CreateMutex ),但那是 (c)1999,所以我有点不愿意在没有先检查是否有“今天更新/更好的方式。

谢谢

最佳答案

任何命名对象都可以,可以是文件、互斥锁、事件、邮槽、TCP 端口等。ERROR_ALREADY_EXISTS 告诉您实例是否已经存在。

对于 Win32 内核命名空间中的对象,自 1999 年以来有一个变化 -- 由于终端服务,您现在可以使用 Global\Local\ 前缀指定它是整台计算机上的一个实例还是每个用户登录 session 一个实例。

如果您想要更便携的东西,那么绑定(bind)一个 TCP 端口,或者创建一个文件并独占锁定它,往往可以在各种操作系统上很好地工作。

关于c++ - 如果应用程序在启动新实例之前已经在运行,如何在 C++ 中检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6712432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com