Título: Crear Exe k permita abrir 2 veces un programa Publicado por: ignorantev1.1 en 5 Septiembre 2006, 01:19 am Necesito conocer en que archivo se encuntra la instruccion de3 que un exe no se abra mas de una vez un exe...
o expliquenme como crearlo... se los agradezco gracias!!! Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: yeikos en 5 Septiembre 2006, 01:28 am Código: ' Si el programa se encuentra en ejecución se cierra Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: ignorantev1.1 en 5 Septiembre 2006, 02:36 am no me entendiste... no me refiero al programna que haga yo si no a otro.. por ejemplo el msn no se puede iniciar secion 2 veces o mas, me refiero a crear una aplicacion o como se llame para poderlos ejecutar 2 o mas veces(no me refiero a msn basicamente)...gracias!!!
Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: DarkSigma en 5 Septiembre 2006, 02:44 am Bueno hace ya tiempo que no reviso ese tema pero la idea basica es la misma que se usaba antes con los lanzadores de MSN Messenger, es decir lanzar el ejcutable desde VB con un numero de proceso diferente por cada copia...
Con gusto te mostraria un ejemplo pero no se ni donde quedaron todos mis codigos VB pero se realiza de la manera que te menciono Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: elmaro en 5 Septiembre 2006, 08:23 am si puedes postiar el code para lanzar un proceso con distinto pid cada vez, te lo agradeceria :P
saludos Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: byebye en 5 Septiembre 2006, 13:54 pm Citar Bueno hace ya tiempo que no reviso ese tema pero la idea basica es la misma que se usaba antes con los lanzadores de MSN Messenger, es decir lanzar el ejcutable desde VB con un numero de proceso diferente por cada copia... el proceso se cree de la forma que sea siempre tiene un id diferente. el msn lo que crea es un mutex cada vez que se ejecuta y si existe pues se cierra, modificando la comparacion puedes abrirlo las veces que quieras. Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: Zeroql en 5 Septiembre 2006, 21:04 pm pues lo mejor es que hagas una plicacion que te cre una copia en temporales de la aplicacion que kieres abrir con diferente nombre. tambie que le dijas que no se ejecuta por sistema. eso lo pudes hacer por regedit en HKLM\software\microsoft\windows\curient user, eso lo habia hecho hace tiempo pero no me acuerdo como...
Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: ignorantev1.1 en 5 Septiembre 2006, 23:25 pm Si pudieran codear algo mas o mens pa darme una idea se los agradeceria preferiblemente en VB...Gracias!!
No soy bruto lo que pasa es que soy lento para aprender... Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: elmaro en 6 Septiembre 2006, 00:23 am con respecto al mutex
no tengo muy en claro su significado pero si para que sirve,. lguna manera de hacerlo en vb?? yo abia echo algo asi,. se ejecutba la aplicacion, guardaba un dato boolean en el registro como true si el programa se estaba ejecutando y lo modificaba a false cuadno se cerrara,. si al abrir el exe la entrada era true, se cerraba,. funcionaba muy bien,. pero el problema era el siguiente: si la aplicacion se cerraba x algun error de windows,. o xq me mataban el proceso ,. el valor kedabva en true., no lo pasaba a false, logicamente de ahi en adelante cda ves que se keria abrir era como si ya se estubiesee ejecutando bueno nose,. fijense saludos Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: ignorantev1.1 en 7 Septiembre 2006, 15:16 pm ;D yo creo k son mas faciles los ejemplos...Gracias!!!
Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: byebye en 7 Septiembre 2006, 20:40 pm Citar The CreateMutex function creates a named or unnamed mutex object. HANDLE CreateMutex( LPSECURITY_ATTRIBUTES lpMutexAttributes, // pointer to security attributes BOOL bInitialOwner, // flag for initial ownership LPCTSTR lpName // pointer to mutex-object name ); Citar Return Values If the function succeeds, the return value is a handle to the mutex object. If the named mutex object existed before the function call, the GetLastError function returns ERROR_ALREADY_EXISTS. Otherwise, GetLastError returns zero. Citar The system closes the handle automatically when the process terminates Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: ignorantev1.1 en 8 Septiembre 2006, 01:10 am Gracias por tu colaboracion... si alguien me podria traducir lo anterior se lo agradeceria...pero de cualquier forma GRACIAS!!!
Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: byebye en 8 Septiembre 2006, 14:29 pm en cristiano quiere decir algo asi:
si no hay ningun problema la funcion devuelve el manejador del objeto mutex. si ya existe devuelve ERROR_ALREADY_EXISTS. el sistema cierra automaticamente el handle al terminar el proceso. se inicia el programa: if createmutex==ERROR_ALREADY_EXISTS cerrar aplicacion else seguir la ejecucion se entiende la forma de usarlo mas o menos. Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: ignorantev1.1 en 9 Septiembre 2006, 02:40 am Eso no es VB verdad?...no conozco el lenguaje o komo usar las propiedades k me diste(si esk esta en otro lenguaje)...ahora suponiendo que la copia del programa se llame:
hola.exe y el programa se llame: hey.exe... explicamelo asi haber si asi si le entiendo...GRACIAS!!! NO SOY TAN BRUTO LO QUE PASA ES QUE SOY LENTO QUE ES DIFERENTE... Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: byebye en 9 Septiembre 2006, 07:05 am no es ningun lenguaje en concreto, es para que te de una idea y cfreo que se entiende perfectamente.
Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: ignorantev1.1 en 10 Septiembre 2006, 19:51 pm Esperame creo k te estoy entendiendo´pero tu no mi...
tu pones que si hay error cierre la aplicacion: el error es logico que suceda es precisamente para eso la aplicacion que quiero crear. para evitar errores... Eso es lo que dices?... por lo general los programas o parches que tiene esta funcion son similares a el original pero son un poco mas grandes... GRACIAS!!! Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: [VolkS] en 11 Septiembre 2006, 08:21 am Private Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (ByVal lpMutexAttributes As Long, ByVal bInitialOwner As Long, ByVal lpName As String) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Private Const ERROR_ALREADY_EXISTS = 183& Public Const AppVer = "MyApp v1.1" Dim mutexvalue As Long mutexvalue = CreateMutex(ByVal 0&, 1, AppVer) If (Err.LastDllError = ERROR_ALREADY_EXISTS) Then CloseHandle mutexvalue end End If Este code no es mio. en la constante AppVer Pone el caption de la ventana que uses. le agrege el "end" (no lo testie, por lo que vi, parece funcionar) Título: Re: Crear Exe k permita abrir 2 veces un programa Publicado por: ignorantev1.1 en 12 Septiembre 2006, 23:26 pm Por alguna razon no sirvio VOLks... el primer error que me marco que las constantes no se pueden definir "publics" y depues la puse "private".. depues que no me marco error a la hora de el calis lo compile y lo ejecutaba y simplemente no sucedia nada. podrias decir por que?
GRACIAS!!! |