Visual Basic - Formulario de bloqueo

Life is soft - evento anual de software empresarial
 
Vista:

Formulario de bloqueo

Publicado por Argianny Meza (5 intervenciones) el 03/06/2003 05:00:53
Hola amigos, necesito una rutina de manera tal de colocar un formulario que al yo tratar de abrir otros programas, este permanezca siempre por encima de los demas, de manera tal de bloquear la maquina para que no se pueda usar, cundo cierre el formulario podre ver las demas aplicaciones que abri.

Gracias de antemano.
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:Formulario de bloqueo

Publicado por Guido (71 intervenciones) el 03/06/2003 16:17:49
Hola: Tenes que usar estas declaraciones de la API en un modulo de código
Public Const WM_SYSCOMMAND = &H112
Public Const SC_RESTORE = &HF120
Public Const SWP_NOMOVE = 2
Public Const SWP_NOSIZE = 1
Public Const SWP_HIDEWINDOW = &H80
Public Const SWP_SHOWWINDOW = &H40

Public Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2

Public Const WM_SETREDRAW = &HB

' Llamadas al API de Windows para crear la ventana Topmost
Declare Function SetWindowPos Lib "User32" (ByVal h&, ByVal hb&, ByVal x&, ByVal y&, ByVal cx&, ByVal cy&, ByVal f&) As Long
Declare Function FindWindow Lib "User32" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long
Declare Function SendMessage Lib "User32" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Luego la llamada es algo asi:
'Mostrar el formulario centrado
Dim lWS As Long, lHS As Long
lWS = Screen.Width \ 2 - form1.Width \ 2
lHS = Screen.Height \ 2 - form1.Height \ 2
form1.Left = lWS
form1.Top = lHS
lHandle = form1.hWnd
Success% = SetWindowPos(lHandle, HWND_TOPMOST, lWS, lHS, 0, 0, FLAGS Or SWP_SHOWWINDOW)

'ocultar el formulario
Success% = SetWindowPos(lHandle, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS Or SWP_HIDEWINDOW)

espero te sirva
saludos
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