La Web del Programador: Comunidad de Programadores
 
    Pregunta:  21402 - EJECUTAR APLICACIóN EN EL ESCRITORIO DE WINDOWS
Autor:  Diego Béjar
Estoy haciendo una aplicación en la que quiero que cuando se abra, ésta se coloque en la parte superior de la pantalla, en el escritorio de windows, de tal manera que todo el escritorio quede debajo (no por debajo de la ventana de la aplicación, sino directamente desplazado hacia abajo en vertical). De esta manera mi aplicación estaría siempre activa y no "taparía" nada. Creo que se hace con el Active Desktop y con APIs, pero tengo dudas y no sé cómo hacerlo. Alguien tiene idea?

  Respuesta:  Programador aficionado
Supongo q quieres algo en plan una barra arriba del todo con algun menu o alguna movida, eso se hacia con SystemParametersInfo

\'Todo esto al modulo:

Declare Function SystemParametersInfo Lib \"user32\" Alias \"SystemParametersInfoA\" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long

\'tienes unas cuantas constantes:
Public Const SPIF_SENDWININICHANGE = &H2
Public Const SPIF_UPDATEINIFILE = &H1

Public Const SPIF_change = SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE

Public Const SPI_GETWORKAREA = 48 \'Esto es para obtener el area actual
Public Const SPI_GETNONCLIENTMETRICS = 41
Public Const SPI_SETWORKAREA = 47 \'<<<< ESA ES

\'y el tipo rect de siempre

Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

\' Y en el form, por alguna parte pones algo asi

dim v as long
dim a as rect

a.Left=0 \'Desde donde empieza el escritorio por la izquierda
a.Top=0 \'aqui supongo que deberias poner me.height
\'a.Right...
\'a.Bottom...

v = SystemParametersInfo(SPI_SETWORKAREA, vbNull, a, SPIF_change)

\'Espero que te sea útil
\'De todas formas investiga un poco esto por ahi.

salu2 ;D