Visual Basic - Trabajar con regiones en el escritorio de windows

Life is soft - evento anual de software empresarial
 
Vista:

Trabajar con regiones en el escritorio de windows

Publicado por Diego (8 intervenciones) el 25/09/2001 17:31:45
A ver cómo lo explico. Tengo una aplicación que ocupa todo el ancho de la pantalla, pero sólo unas pocas líneas. Lo que quiero hacer es que cuando se ejecuta mi aplicación ninguna otra aplicación pueda estar en el mismo espacio, ni siquiera el escritorio de windows. O sea, lo que quiero es reservar un espacio de pantalla exclusivamente para mi aplicación.

Esto en realidad parece bastante sencillo, pero a mi no me funciona. Las soluciones que se me han ocurrido son estas:

- Coger el handle del escritorio de windows, y mover el escritorio como si fuera una ventana más.
- Coger el handle del escritorio de windows, y crearle una región que excluya el área que usa mi programa.
- Cambiar el sistema de coordenadas para que la coordenada 0,0 en realidad sea la 0,60 (y así me reservo las 60 primeras líneas para mí).

No estoy muy acostumbrado a trabajar con API, de manera que aunque ninguna de las dos soluciones indicadas me haya funcionado, es posible que sea porque yo no sé hacerlo.

Uno de los últimos experimentos es este:

hWindEscritorio = GetDesktopWindow()
hdc = GetDC(hWindEscritorio)
PuntoXY.x = 0
PuntoXY.y = 0
lngResp = SetWindowOrgEx(hdc, 0, 60, PuntoXY)

Como veis lo que hago es coger el handle del escritorio, coger el dc del mismo, y a continuación cambiar el sistema de coordenadas, pero nada, aunque no me da error el caso es que no pasa nada.

Creo que lo más correcto sería algo del tipo CreateRectReg y SetRectReg, pero tampoco me funciona.

Gracias a todos por vuestro interés. Si alguien me ayuda con esto se lo agradeceré eternamente.
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