SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: exodo999 en Viernes 12 de Septiembre de 2008, 18:45

Título: Ventana siempre activa
Publicado por: exodo999 en Viernes 12 de Septiembre de 2008, 18:45
Hola a todos!.

Tengo un pequeño problema.

estoy empezando un proyecto y como requisito del sistema es que se bloquee la pantalla por medio de un formulario y aunque se abra una ventana el formulario vuelva a aparecer encima de esa aplicacion. he encontrado una api llamada SetWindowPos y he logrado que se posicione por encima de todos el problema es que cuando se le da click a otra ventana mi aplicacion no queda por encima he intentado llamar a la funcion SetWindowPos de nuevio con un timer pero no me resulta!

que estoy haciendo mal??
Título: Re: Ventana siempre activa
Publicado por: SysEdw en Viernes 12 de Septiembre de 2008, 22:35
hola prueba con este codigo

Código: Text
  1. Option Explicit
  2.     Const SWP_NOMOVE = 2
  3.     Const SWP_NOSIZE = 1
  4.     Const HWND_TOPMOST = -1
  5.     Const HWND_NOTOPMOST = -2 '
  6.     Private Declare Function SetWindowPos _
  7.         Lib "user32" ( _
  8.             ByVal hWnd As Long, _
  9.             ByVal hWndInsertAfter As Long, _
  10.             ByVal X As Long, ByVal Y As Long, _
  11.             ByVal cX As Long, _
  12.             ByVal cY As Long, _
  13.             ByVal wFlags As Long) As Long
  14.     Private Sub Command1_Click()
  15. 'ventana activa
  16.     SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, _
  17.                                 SWP_NOMOVE Or SWP_NOSIZE
  18.     End Sub
  19.     Private Sub Command2_Click()
  20. '    desactivar ventana
  21.     SetWindowPos Me.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
  22.     End Sub
  23.