Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

¿Boton q se desbloque al...?

Estas en el tema de ¿Boton q se desbloque al...? en el foro de Visual Basic clásico en Foros del Web. Buenas noches, nesesito con urgencia un codigo para una aplicacion que estoy realizando, mi problema es que yo estoy realizando un programa para ejecutar una ...
  #1 (permalink)  
Antiguo 09/11/2008, 01:14
 
Fecha de Ingreso: julio-2004
Mensajes: 323
Antigüedad: 19 años, 9 meses
Puntos: 1
¿Boton q se desbloque al...?

Buenas noches, nesesito con urgencia un codigo para una aplicacion que estoy realizando, mi problema es que yo estoy realizando un programa para ejecutar una aplicacion que anteriormente habia realizado, practicamente el programa que en este momento estoy realizando es un launcher par aun videojuego, entonces mi problema es que nesesito que mi programa al iniciar compruebe si el hamachi se esta ejecutando entre los procesos del sistema, si este no se ejecuta entonces que el boton del launcher se auto-deshabilite, de lo contrario entonces que el boton se habilite inmediatamente, si alguien me pude ayudar con esto le agradeceria mucho su ayuda... gracias


practicament elo que deseo es que el codigo compruebe los procesos en ejecucion y si entre estos procesos se encuentra hamachi , habilite el boton de lo contrario que se quede deshabilitado... muchas gracias y hasta luego.
  #2 (permalink)  
Antiguo 09/11/2008, 03:36
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: ¿Boton q se desbloque al...?

Cita:
Iniciado por Sairox Ver Mensaje
Buenas noches, nesesito con urgencia un codigo para una aplicacion que estoy realizando, mi problema es que yo estoy realizando un programa para ejecutar una aplicacion que anteriormente habia realizado, practicamente el programa que en este momento estoy realizando es un launcher par aun videojuego, entonces mi problema es que nesesito que mi programa al iniciar compruebe si el hamachi se esta ejecutando entre los procesos del sistema, si este no se ejecuta entonces que el boton del launcher se auto-deshabilite, de lo contrario entonces que el boton se habilite inmediatamente, si alguien me pude ayudar con esto le agradeceria mucho su ayuda... gracias


practicament elo que deseo es que el codigo compruebe los procesos en ejecucion y si entre estos procesos se encuentra hamachi , habilite el boton de lo contrario que se quede deshabilitado... muchas gracias y hasta luego.
Buenos dias, podrías crear una función como ésta que devuelve un valor booleano indicando si se está ejecutando el proceso o no.

Código:
Option Explicit
' declaraciones API
Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)

' tipo definido por el usuario
Private Type PROCESSENTRY32
    dwSize As Long
    cntUsage As Long
    th32ProcessID As Long
    th32DefaultHeapID As Long
    th32ModuleID As Long
    cntThreads As Long
    th32ParentProcessID As Long
    pcPriClassBase As Long
    dwFlags As Long
    szExeFile As String * 260
End Type

Private Function VerificarProceso(ByVal ElProceso As String) As Boolean
Dim hSn As Long, res As Long
Dim tProcess As PROCESSENTRY32

hSn = CreateToolhelpSnapshot(2&, 0&)
If hSn <> 0 Then
    tProcess.dwSize = Len(tProcess)
    res = ProcessFirst(hSn, tProcess)
    Do While res
        If Left(tProcess.szExeFile, InStr(tProcess.szExeFile, Chr$(0)) - 1) = ElProceso Then
            VerificarProceso = True
            Exit Do
        End If
        res = ProcessNext(hSn, tProcess)
   Loop
   Call CloseHandle(hSn)
End If
End Function
y para llamarla p.e. al abrir el formulario:

Código:
Private Sub Form_Load()
If VerificarProceso("hamachi.exe") = True Then btnLauncher.Enabled = True
End Sub
PD. Suponemos que propiedad Enabled de 'btnLauncher' en diseño está en False.

Buen dia
  #3 (permalink)  
Antiguo 09/11/2008, 10:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ¿Boton q se desbloque al...?

En las FAQ's ya estaba ese código de cómo hacerlo .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 10/11/2008, 02:19
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: ¿Boton q se desbloque al...?

Cita:
Iniciado por David el Grande Ver Mensaje
En las FAQ's ya estaba ese código de cómo hacerlo .
Ok. Lo acabo de mirar y creo que te refieres a una nota del usuario VisualGuallabo.
Ambos ejemplos están basados en otro de la API-Guide, la diferencia es que en el ejemplo que mencionas, se listan todos los procesos que se están ejecutando y el que yo puse es una función que retorna verdadero si un proceso en concreto se está ejecutando, que creo que es lo que se pedía.

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:31.