DLL在系统范围内公开状态(Windows)的方法



我正在创建两个独立的C++.dll,它们都与同一块硬件对话。如果两者同时连接,它们的命令将被混淆,硬件的行为也将不正确。因此,我需要确保一次只有一个连接到硬件(即使两个DLL都已加载并正在运行)。

到目前为止,我的想法是:

  • 连接之前,DLL在已知位置创建一个文件
  • 当DLL连接时,它会查找另一个DLL的文件,如果存在则拒绝连接
  • 断开连接后,DLL将删除其文件

这看起来很简单,但我想知道是否有更好的方法?DLL可以定义某种系统范围的变量?简单性是关键——代码行数越少越好。

使用CreateMutex函数

您可以为此使用全局互斥对象。

相关内容

最新更新