vb6 - suma - visual basic extraer caracteres de una cadena




Cómo usar un mutex en Visual Basic (2)

Aquí están las declaraciones de VB6 para CreateMutex : acabo de copiarlas del visor de API, que debería tener como parte de su instalación de VB6. VB6 ordena cadenas a ANSI con terminación nula usando la página de códigos actual.

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

Tenga en cuenta que si crea un mutex desde el IDE VB6, el mutex pertenece al IDE y no se destruirá cuando deje de ejecutar su programa, solo cuando cierre el IDE.

He importado la biblioteca kernel32, así que tengo la función createMutex disponible, pero no estoy seguro de los diversos parámetros y valores devueltos.

Esto es clásico de Visual Basic, no de Visual Basic.NET, pero probablemente pueda trabajar con cualquiera de los dos idiomas en forma de respuesta.


El código VB se ve más o menos así:

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

El primer parámetro es un puntero a una estructura SECURITY_ATTRIBUTES . Si no sabes de qué se trata, no lo necesitas. Pase NULL (0).

El segundo parámetro es TRUE (distinto de cero, o 1) si el hilo llamante debe tomar posesión del mutex. FALSE contrario.

El tercer parámetro es el nombre mutex y puede ser NULL (0), como se muestra. Si necesita un mutex con nombre, pase el nombre (cualquier cosa única). No estoy seguro de si el contenedor VB dirige el tipo de cadena VB prefijo de longitud ( BSTR ) a una cadena Ascii / Unicode terminada en nulo; de lo contrario, necesitará para hacer eso y numerosos ejemplos están por ahí.

¡Buena suerte!