Visual Basic bir mutex nasıl kullanılır

oy
21

Ben ithal var kernel32kitaplığı. Yani, var createMutexfonksiyonu mevcut ama çeşitli parametreleri ve dönüş değerleri oldukça emin değilim.

Bu klasik Visual Basic, Visual Basic.NET değil ama muhtemelen bir cevap şeklinde iki dil ile çalışabilir.

Oluştur 04/08/2008 saat 02:22
kaynak kullanıcı
Diğer dillerde...                            


3 cevaplar

oy
9

İşte için VB6 bildirimleri var CreateMutex - Sadece VB6 yüklemesinin bir parçası olarak sahip olmalıdır API görüntüleyici, onları kopyaladı. VB6 marshalls dizeleri geçerli kod sayfasını kullanarak ANSI-null terminated için.

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

Eğer IDE kapatmak yalnızca - Eğer VB6 IDE bir muteksi oluşturursanız muteksi IDE aittir ve programınızı yayından zaman tahrip olmayacak unutmayın.

Cevap 17/09/2008 saat 13:01
kaynak kullanıcı

oy
7

VB kodu şöyle görünür:

hMutex = CreateMutex(ByVal 0&, 1, ByVal 0&)

Birinci parametre, bir işaretçidir SECURITY_ATTRIBUTESyapı. Ne olduğunu bilmiyorsanız, bunu gerek yoktur. NULL geçmek (0).

Ikinci parametre TRUE(sıfır olmayan veya 1) arama iplik Muteksleri sahipliğini gerekiyorsa. FALSEaksi takdirde.

Üçüncü parametre muteksin adıdır ve gösterildiği gibi, (0) boş olabilir. Bir adlandırılmış mutex'i gerekiyorsa, adını (benzersiz bir şey) geçmektedir. Emin değilim olmadığını VBsarıcı teşrifatçılar uzunluk-öneki VBdize türü ( BSTR) üzerinden bir boşlukla sonlandırılmış Ascii / Unicode dizeye, bunu yapmak gerekir değilse ve çok sayıda örnekler orada vardır.

İyi şanslar!

Cevap 04/08/2008 saat 05:58
kaynak kullanıcı

oy
2

Eh, dayalı belgelerin benzediğini:

  1. Güvenlik nitelikleri (null adlı geçebilir)
  2. başlangıçta sahibi olduğu İster (yanlış geçebilir)
  3. bunun adı

HTH

Cevap 04/08/2008 saat 05:48
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more