Cum să utilizați un mutex în Visual Basic

voturi
21

Am importat kernel32biblioteca. Deci, am createMutexfuncția disponibilă , dar eu nu sunt destul de sigur de diferiți parametri și valorile de retur.

Acest lucru este clasic Visual Basic, nu Visual Basic.NET, dar, probabil, eu pot lucra cu oricare limbă sub forma unui răspuns.

Întrebat 04/08/2008 la 02:22
sursa de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
9

Iată declarațiile VB6 pentru CreateMutex - doar le - am copiat din vizualizatorul API, care ar trebui să aibă ca parte a instalării VB6. Marshalls VB6 siruri de la null-terminat ANSI folosind pagina de cod curentă.

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

Țineți cont de faptul că, în cazul în care creați un mutex de IDE VB6, mutex aparține IDE și nu vor fi distruse atunci când opriți rularea programului dumneavoastră - numai atunci când închideți IDE.

Publicat 17/09/2008 la 13:01
sursa de către utilizator

voturi
7

Codul VB arata ceva de genul:

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

Primul parametru este un pointer la o SECURITY_ATTRIBUTESstructură. Dacă nu știi ce este, nu aveți nevoie de ea. Se trece NULL (0).

Al doilea parametru este TRUE(non-zero sau 1) , în cazul în care firul apelant ar trebui să ia dreptul de proprietate asupra mutex. FALSEin caz contrar.

Al treilea parametru este numele mutex și poate fi NULL (0), așa cum se arată. Dacă aveți nevoie de un mutex numit, treci numele (ceva unic) în. Nu sunt sigur dacă VBmareșali wrapper prefixat lungime VBtip string ( BSTR) pe la un ascii / șir Unicode terminat-nul dacă nu, va trebui să faci asta și numeroase exemple sunt acolo.

Mult noroc!

Publicat 04/08/2008 la 05:58
sursa de către utilizator

voturi
2

Ei bine, pe baza documentației arată:

  1. atributele de securitate (poate trece nul)
  2. Fie că este vorba deținut inițial (poate trece fals)
  3. Numele de ea

HTH

Publicat 04/08/2008 la 05:48
sursa de către utilizator

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