题
我有进口的 kernel32
图书馆。因此,我有 createMutex
功能可用,但我不是很确定的各种参数和返回值。
这是经典的视觉基本的、不觉得Basic.NET 但我或许可以用语言形式的答复。
解决方案
VB代码看起来是这样的:
hMutex = CreateMutex(ByVal 0&, 1, ByVal 0&)
第一个参数是指一个 SECURITY_ATTRIBUTES
结构。如果你不知道它是什么,你不需要它。通过NULL(0).
第二是参数 TRUE
(non-零,或1)如果调线应采取所有权的互斥。 FALSE
否则。
第三个参数是互斥的名称和可以NULL(0),如下所示。如果你需要一个名叫锁,通过名称的(任何独特的)。不知道是否 VB
包装警长-前缀 VB
串的类型(BSTR
)在一个空终止Ascii/Unicode串如果不是,你会需要这样做和许多例子。
祝你好运!
其他提示
这里的维生素b6声明 CreateMutex -我只是复制的他们从API观察者,你应该为你的维生素b6安装。维生素b6马歇尔串空终止ANSI使用现代码页。
Public Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
Public Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" _
(lpMutexAttributes As SECURITY_ATTRIBUTES, ByVal bInitialOwner As Long, _
ByVal lpName As String) As Long
铭记,如果创建了一个互斥从维生素b6IDE,互斥属于IDE和不会破坏当你停止运行程序-只有当你靠近IDE。
不隶属于 StackOverflow