elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [SRC][mAltMutex.bas] Alternativa a CreateMutex
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SRC][mAltMutex.bas] Alternativa a CreateMutex  (Leído 5,273 veces)
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
[SRC][mAltMutex.bas] Alternativa a CreateMutex
« en: 1 Febrero 2009, 13:07 pm »

Bueno, he aqui una alternativa al CreateMutex...

Como todos sabemos el Mutex sirve para que no haya dos instancias de nuestra app corriendo simultaneamente...

He aqui el codigo del modulo, los creditos estan en los comentarios ;):
Código
  1. '---------------------------------------------------------------------------------------
  2. ' Modulo    : mAltMutex
  3. ' Autor     : Karcrack
  4. ' Fecha-Hora: 01/02/2009  12:27
  5. ' Finalidad : Comprobar si hay otra instacia de nuestra APP ejecutandose
  6. ' Referencia: http://hackhound.org/forum/index.php?topic=8967.0;topicseen
  7. ' Agradec.  : steve10120 por codearlo en Delphi, yo solo lo traduci. Y agrege un API xD
  8. '---------------------------------------------------------------------------------------
  9.  
  10. Option Explicit
  11. Private Declare Function GlobalAddAtom Lib "kernel32.dll" Alias "GlobalAddAtomA" (ByVal lpString As String) As Integer
  12. Private Declare Function GlobalFindAtom Lib "kernel32.dll" Alias "GlobalFindAtomA" (ByVal lpString As String) As Integer
  13. Public Declare Function GlobalDeleteAtom Lib "kernel32.dll" (ByVal nAtom As Integer) As Integer
  14.  
  15. Public Function CheckIfRunning(ByVal sStr As String, Optional ByRef lID As Long) As Boolean
  16.    If GlobalFindAtom(sStr) Then
  17.        CheckIfRunning = True 'Estamos siendo ejecutados
  18.    Else
  19.        lID = GlobalAddAtom(sStr) 'No estamos siendo ejecutados
  20.        'Devolvemos el ID, para que despues pueda ser eliminado el Atom
  21.    End If
  22. End Function

Y aqui un ejemplo de uso:
Código
  1. 'En un Formulario
  2. Option Explicit
  3.  
  4. Public lID      As Long
  5.  
  6. Private Sub Form_Load()
  7.    If CheckIfRunning("Karcrack_Probando", lID) = True Then
  8.        MsgBox "Ya hay otra instacia abierta...", , "ADIOS"
  9.        End
  10.    End If
  11. End Sub
  12.  
  13. Private Sub Form_Unload(Cancel As Integer)
  14.    'Eliminamos el Atom antes de cerrarnos
  15.    Call GlobalDeleteAtom(lID)
  16. End Sub

Saludos ;D


« Última modificación: 24 Marzo 2012, 22:02 pm por Karcrack » En línea

invisible_hack


Desconectado Desconectado

Mensajes: 978


Invisible_Hack™ Nick Registrado ^^


Ver Perfil WWW
Re: [SRC][mAltMutex.bas] Alternativa a CreateMutex
« Respuesta #1 en: 1 Febrero 2009, 16:23 pm »

Bueno hombre, ya que nadie se anima a postear una respuesta dejame que sea el primero en felicitarte por crear éste modulito, por lo que veo te has aficionado a crear funcioncillas en VB porque hace unas semanas recuerdo haber visto otra tuya...

Creo que no estaría mal que hicieras un post aparte a modo de recopilación con todas las funciones que lleves hechas, y que le ponga Seba chincheta, quedaria bien, yo creo  ;)

Saludos


En línea

"Si no visitas mi blog, Chuck te dará una patada giratoria"
~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: [SRC][mAltMutex.bas] Alternativa a CreateMutex
« Respuesta #2 en: 1 Febrero 2009, 17:05 pm »

Hombre, con irlas añadiendo aquí es bastante:
https://foro.elhacker.net/programacion_vb/recopilacion_de_enlaces_de_visual_basic-t68352.0.html;msg812164#msg812164

Muy buen code por cierto ;)
1S4ludo, E0N
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [SRC][mAltMutex.bas] Alternativa a CreateMutex
« Respuesta #3 en: 1 Febrero 2009, 20:52 pm »

Gracias por las respuestas, me alegro que os haya agradado, pero recordar que no son mios todos los meritos, sino tambien de Steve de HH, yo solo lo porte a VB ;):
Código:
http://hackhound.org/forum/index.php?topic=8967.0;topicseen

No creo que haga falta que cree mi propia recopilacion de funciones o codigos, ya que E0N y Seba123Neo actualizan la lista de este subforo con bastante regularidad ;D

Saludos ;D
En línea

Fr4NN^

Desconectado Desconectado

Mensajes: 56



Ver Perfil
Re: [SRC][mAltMutex.bas] Alternativa a CreateMutex
« Respuesta #4 en: 8 Febrero 2009, 21:06 pm »

buenas.. ante que nada buen code ;)

Te hago una pregunta.. si el nombre de la aplicación es cambiado...
esto seguiría funcionando ?

Saludos
En línea

Leyendo se aprende
seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: [SRC][mAltMutex.bas] Alternativa a CreateMutex
« Respuesta #5 en: 8 Febrero 2009, 22:27 pm »

¿porque no lo probas vos y listo?  :xD
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Alternativa a $HTTP_REFERER
Desarrollo Web
Tapanez 1 5,524 Último mensaje 30 Diciembre 2010, 21:20 pm
por Graphixx
[m][SRC][Semaforos!] Alternativa a CreateMutex « 1 2 »
Programación Visual Basic
Karcrack 12 7,167 Último mensaje 17 Marzo 2010, 02:19 am
por Karcrack
Alternativa a pow? [c] « 1 2 »
Programación C/C++
flacc 10 11,869 Último mensaje 11 Diciembre 2010, 15:25 pm
por pucheto
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines