Visual Basic - formulario...

Life is soft - evento anual de software empresarial
 
Vista:

formulario...

Publicado por mara (143 intervenciones) el 28/02/2005 01:51:04
Logro que mi aplicacion este siempre visible con el uso de las apis, pero no funciona con el messenger, como hago para evitar que cualquier ventana este por encima de mi aplicacion.
no importando si otras aplicaciones lo intenten.
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

ademas....

Publicado por ma (143 intervenciones) el 28/02/2005 02:14:50
ademas debe hacerlo aun que se presione el boton inicio win xp
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:ademas....

Publicado por Benjo (679 intervenciones) el 28/02/2005 03:39:51
Mara, los windows en cualquyiera de sus formas, menus, forms, tooltips, controles, etc, todos dependen de una posición zOrder que está dada por el sistema
En el caso de los TopMost que es lo que te interesa, todas los Windows que tengan esta propiedad establecida, podrán ponerse por sobre otro windows topmost y obviamente ppor sobre los nonTopMost, no hay forma de que lo evites. en el caso del menu Windows tenés un exelente, ejemplo, no puede ser solapado este menú por ninguna ventana. Es por eso que muchos programadores para hacer restricciones de accesos a la Pc utilizan la API SetParameterInfo para evitar el evento al pulsar la tecla Win y CTL ALT DEL
Quizás esta sea una solución para tu problema, ya que SetParameterInfo simula la activación del ScreenSave y no permite la activación de ninguna ventana emergente.
Mucha suerte.
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:formulario...

Publicado por ChaRLinux (60 intervenciones) el 28/02/2005 15:31:58
mira este es el codigo para poner la ventana encima de todas pero menos encima del menu inicio ahi tendras que programar la api que te menciona nustro amigo Benjo espero te sirva un poco
Option Explicit

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOZORDER = &H4
Const SWP_NOREDRAW = &H8
Const SWP_NOACTIVATE = &H10
Const SWP_FRAMECHANGED = &H20
Const SWP_SHOWWINDOW = &H40
Const SWP_HIDEWINDOW = &H80
Const SWP_NOCOPYBITS = &H100
Const SWP_NOOWNERZORDER = &H200
Const SWP_DRAWFRAME = SWP_FRAMECHANGED
Const SWP_NOREPOSITION = SWP_NOOWNERZORDER
Const HWND_TOP = 0
Const HWND_BOTTOM = 1
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Private Sub Command1_Click()
Dim i
i = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE)
End Sub
ChaRLinux Corporation
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