Comment utiliser un mutex dans Visual Basic

voix
21

J'ai importé la kernel32bibliothèque. Donc, j'ai la createMutexfonction disponible mais je ne suis pas tout à fait sûr des différents paramètres et valeurs de retour.

Ce classique est Visual Basic, pas Visual Basic.NET, mais je peux probablement travailler avec les deux langues sous la forme d'une réponse.

Créé 04/08/2008 à 02:22
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
9

Voici la déclaration VB6 pour CreateMutex - Je les ai copiés à partir de la visionneuse d'API, que vous devriez avoir dans le cadre de votre installation de VB6. Chaînes de VB6 Marshalls à l' utilisation ANSI zéro terminal la page de code actuel.

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

Gardez à l'esprit que si vous créez un mutex à partir de l'IDE VB6, le mutex appartient à l'IDE et ne sera pas détruit lorsque vous arrêtez l'exécution de votre programme - que lorsque vous fermez l'IDE.

Créé 17/09/2008 à 13:01
source utilisateur

voix
7

Le code VB ressemble à ceci:

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

Le premier paramètre est un pointeur sur une SECURITY_ATTRIBUTESstructure. Si vous ne savez pas ce qu'il est, vous n'avez pas besoin. Passez NULL (0).

Le second paramètre est TRUE(non-zéro, ou 1) si le thread appelant doit prendre la propriété du mutex. FALSEautrement.

Le troisième paramètre est le nom du mutex et peut être NULL (0), comme indiqué. Si vous avez besoin d' un mutex nommé, transmettre le nom (quelque chose d' unique). Pas sûr que les VBmaréchaux wrapper la préfixé longueur VBtype de chaîne ( BSTR) sur une Ascii terminée par null / chaîne Unicode sinon, vous devrez le faire et de nombreux exemples sont là - bas.

Bonne chance!

Créé 04/08/2008 à 05:58
source utilisateur

voix
2

Eh bien, en fonction de la documentation , il ressemble à :

  1. attributs de sécurité (peut passer null)
  2. Que ce soit d'abord détenu (peut passer faux)
  3. Le nom de celui-ci

HTH

Créé 04/08/2008 à 05:48
source utilisateur

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