Visual Basic - Algun API para que no cierren el programa ....

Life is soft - evento anual de software empresarial
 
Vista:

Algun API para que no cierren el programa ....

Publicado por José Luis (54 intervenciones) el 10/04/2001 01:55:40
Hola a todas(os) !!

Hay alguna API que no permita que mi programa lo cierren con alt-f4 pero que si lo haga cuando se cierre la sesión del usuario o haga shutdown del windows 2000?

O ejecutar el programa en forma oculta y que no lo muestre en la barra de tareas ?


Saludos a todos !!


Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Algun API para que no cierren el programa ....

Publicado por BENJO (167 intervenciones) el 11/04/2001 15:30:53
'En un módulo :
Public Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Public Declare Function GetCurrentProcess Lib "kernel32" () As Long
Public Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
Public Const RSP_SIMPLE_SERVICE = 1
Public Const RSP_UNREGISTER_SERVICE = 0

------------------------------------------------
Public Sub RemoverPrograma_en_la_Lista()
Dim lngProcessID As Long
Dim lngReturn As Long

lngProcessID = GetCurrentProcessId()
lngReturn = RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE)
End Sub

Public Sub RestaurarProgram_en_la_Lista()
Dim lngProcessID As Long
Dim lngReturn As Long

lngProcessID = GetCurrentProcessId()
lngReturn = RegisterServiceProcess(pid, RSP_UNREGISTER_SERVICE)
End Sub

Private Sub Command1_Click()
RemoverPrograma_en_la_Lista
End Sub

Private Sub Command2_Click()
RestaurarProgram_en_la_Lista
End Sub

Ojo el form tiene que estar invisible, de lo contrario tenés que ingresar en el módulo QueryUnload( )y poner la variable de devolución
en false para que no pueda cerrarse tu programa.
En el caso del cierre del Windows, se fuerza el cierre por lo que no pasa por QueryUnload, así que no te preocupes.

Todo este código funciona muy bien el Win9.X , en Win 2000 deberías verificar las declaraciones y los parámetros de las APIS, ya que difieren por ser Unicode.

espero que te sirva.
BENJO

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Una duda

Publicado por jose cuevas (14 intervenciones) el 19/05/2001 02:12:11
Como no se que es eso del QueryUnload(), no entiendo esto:
"Ojo el form tiene que estar invisible, de lo contrario tenés que ingresar en el módulo QueryUnload( )y poner la variable de devolución
en false para que no pueda cerrarse tu programa.
En el caso del cierre del Windows, se fuerza el cierre por lo que no pasa por QueryUnload, así que no te preocupes. "

Si no te importa, podrias esplicarmelo. Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Una duda

Publicado por flyguille (29 intervenciones) el 30/06/2001 08:06:04
Veràs cuando un usuario hace click en la X del formulario, o cuando un comando "Unload Me" es ejecutado para cerrar el formulario antes de que se descarge el formulario y desaparezca de la vista y de memoria
se llama al EVENTO form1_QueryUnload()
ese evento tiene unos paràmetros, si por alguna razon el formulario no se debe cerrar, por ej mmm que no se haya guardado el documento editado ,
se debe establecer en False un parametro no me acuerdo el nombre,pero se autoescribe cuando haces click en el evento, de todos modos está todo en la ayuda del vb5 y 6.

ojo no confundir QueryUnload con el evento Unload, este ùltimo se ejecuta cuando ya desapareció el formulario, y se le da al programador la posibilidad de guardar info en el disco o algo, antes de que el formulario asi como los controles se descargen de la memoria por completo, ya que despues no estaràn disponible sus nombre ni propiedades.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar