elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 23:39  


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo, raul338)
| | |-+  [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 1,890 veces)
Karcrack


Desconectado Desconectado

Mensajes: 2.192


Se siente observado ¬¬'


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

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
'---------------------------------------------------------------------------------------
' Modulo    : mAltMutex
' Autor     : Karcrack
' Fecha-Hora: 01/02/2009  12:27
' Finalidad : Comprobar si hay otra instacia de nuestra APP ejecutandose
' Referencia: http://hackhound.org/forum/index.php?topic=8967.0;topicseen
' Agradec.  : steve10120 por codearlo en Delphi, yo solo lo traduci. Y agrege un API xD
'---------------------------------------------------------------------------------------

Option Explicit
Private Declare Function GlobalAddAtom Lib "kernel32.dll" Alias "GlobalAddAtomA" (ByVal lpString As String) As Integer
Private Declare Function GlobalFindAtom Lib "kernel32.dll" Alias "GlobalFindAtomA" (ByVal lpString As String) As Integer
Public Declare Function GlobalDeleteAtom Lib "kernel32.dll" (ByVal nAtom As Integer) As Integer
 
Public Function CheckIfRunning(ByVal sStr As String, Optional ByRef lID As Long) As Boolean
   If GlobalFindAtom(sStr) Then
       CheckIfRunning = True 'Estamos siendo ejecutados
   Else
       lID = GlobalAddAtom(sStr) 'No estamos siendo ejecutados
       'Devolvemos el ID, para que despues pueda ser eliminado el Atom
   End If
End Function

Y aqui un ejemplo de uso:
Código
'En un Formulario
Option Explicit
 
Public lID      As Long
 
Private Sub Form_Load()
   If CheckIfRunning("Karcrack_Probando", lID) = True Then
       MsgBox "Ya hay otra instacia abierta...", , "ADIOS"
       End
   End If
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
   'Eliminamos el Atom antes de cerrarnos
   Call GlobalDeleteAtom(lID)
End Sub

Saludos ;D


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

invisible_hack


Desconectado Desconectado

Mensajes: 981


Invisible_Hack™ Nick Registrado ^^


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

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.983


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

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.192


Se siente observado ¬¬'


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

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 »

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.214



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

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

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Alternativa a Wlanexpert?
Hacking Wireless
subidoneng 2 1,885 Último mensaje 7 Septiembre 2006, 21:21
por subidoneng
¿Una alternativa al DRM?
Noticias
wolfbcn 0 882 Último mensaje 9 Septiembre 2009, 01:20
por wolfbcn
De que sirve ocupar CreateMutex en hilos?
Programación C/C++
chaval 10 1,771 Último mensaje 3 Octubre 2009, 22:55
por Jaixon Jax
[m][SRC][Semaforos!] Alternativa a CreateMutex
Programación Visual Basic
Karcrack 12 2,459 Último mensaje 17 Marzo 2010, 02:19
por Karcrack
Alternativa a pow? [c]
Programación C/C++
Mini_Nauta 10 2,550 Último mensaje 11 Diciembre 2010, 15:25
por pucheto
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines