Screen TOP

21/07/2008 - 15:35 por Paul P. Garcia | Informe spam
Saludos.

Espero me pueda explicar...
En los monitores SAMSUNG modelo SyncMaster 794v cuando se presiona el boton
de menu aparece las opciones del monitor y claro esto esta encima de todos y
no se le puede hacer click y no afecta a las ventanas de windows quitandole
el enfoque (o ventana de trabajo).
Tambien pude notar en EasyCafe algo parecido. En la parte superior izquierda
muestra el tiempo transcurrido y el efectivo a cancelar.

Todos estos tipos de pantalla no afectan a una ventana de windows quitandole
el enfoque, siempre estan encima y no solo eso el tamaño no son afectados
por la resoluccion, siempre mantienen un tamaño y un lugar en la pantalla.
Parece que usaran poco colores y solo usan dibujo tipo MS-DOS... pero para
mi proyecto es perfecto.

Estuve buscando en google pero no encuentro nada parecido que me pueda
ayudar.

Gracias de antemano.
Tu amigo Paul.

Preguntas similare

Leer las respuestas

#1 RFOG
21/07/2008 - 15:51 | Informe spam
Esas ventanas no tienen nada que ver con Windows y ni siquiera con el
ordenador, ya que están dentro del firmware del monitor y es el propio
monitor el que las pone ahí (apaga y/o desenchufa el monitor del ordenador
y verás cómo siguen apareciendo al pulsar los botones del monitor).

Se puede simular algo parecido en Windows, abriendo una ventana sin marco
y con pintado manual, con la característica de TOP_MOST y cuyo propietario
fuera el escritorio (HWND_DESKTOP), y creo que hasta se puede evitar que
coja el foco aunque apareza encima de todo, pero si haces clic sobre ella,
lo cogerá... Ahora bien, el .NET creo que no soporta al completo todas
esas características y tendrás que liarte con los estilos de ventana
directamente con Win32...

On Mon, 21 Jul 2008 15:35:13 +0200, Paul P. Garcia
wrote:

Saludos.

Espero me pueda explicar...
En los monitores SAMSUNG modelo SyncMaster 794v cuando se presiona el
boton
de menu aparece las opciones del monitor y claro esto esta encima de
todos y
no se le puede hacer click y no afecta a las ventanas de windows
quitandole
el enfoque (o ventana de trabajo).
Tambien pude notar en EasyCafe algo parecido. En la parte superior
izquierda
muestra el tiempo transcurrido y el efectivo a cancelar.

Todos estos tipos de pantalla no afectan a una ventana de windows
quitandole
el enfoque, siempre estan encima y no solo eso el tamaño no son afectados
por la resoluccion, siempre mantienen un tamaño y un lugar en la
pantalla.
Parece que usaran poco colores y solo usan dibujo tipo MS-DOS... pero
para
mi proyecto es perfecto.

Estuve buscando en google pero no encuentro nada parecido que me pueda
ayudar.

Gracias de antemano.
Tu amigo Paul.







Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Momentos Leves: http://momentosleves.blogspot.com/
Cosas mías: http://rfog.blogsome.com/
Libros, ciencia ficción y programación
En apurada situación, haz de tripas corazón.
Respuesta Responder a este mensaje
#2 Paul P. Garcia
21/07/2008 - 16:11 | Informe spam
Hola.

Es verdad, la ventana o el menu de Samsung no tiene nada que ver con
windows, solo queria poner un ejemplo de lo que necesito integrar en mi
proyecto.

Pude ver que EasyCafe logro lo que necesito... (siempre esta encima, no se
le puede hacer click, no cambia de tamaño ni de lugar si se le cambia la
resoluccion al equipo, no le quita el foco a ninguna ventana)

Me puedes explicar un poco de como crear una ventana con pintado manual, y
que el propietario sea el escritorio. Sobre el TOP_MOST entiendo un poco,
esto lo hacia en VB6 llamando a una Api. Pero creo q al ser una ventana este
va a cambiar de lugar y de tamaño cada vez que el equipo cambie de
resoluccion (los juegos siempre cambian de resoluccion).


"RFOG" escribió en el mensaje
news:
Esas ventanas no tienen nada que ver con Windows y ni siquiera con el
ordenador, ya que están dentro del firmware del monitor y es el propio
monitor el que las pone ahí (apaga y/o desenchufa el monitor del ordenador
y verás cómo siguen apareciendo al pulsar los botones del monitor).

Se puede simular algo parecido en Windows, abriendo una ventana sin marco
y con pintado manual, con la característica de TOP_MOST y cuyo propietario
fuera el escritorio (HWND_DESKTOP), y creo que hasta se puede evitar que
coja el foco aunque apareza encima de todo, pero si haces clic sobre ella,
lo cogerá... Ahora bien, el .NET creo que no soporta al completo todas
esas características y tendrás que liarte con los estilos de ventana
directamente con Win32...

On Mon, 21 Jul 2008 15:35:13 +0200, Paul P. Garcia
wrote:

Saludos.

Espero me pueda explicar...
En los monitores SAMSUNG modelo SyncMaster 794v cuando se presiona el
boton
de menu aparece las opciones del monitor y claro esto esta encima de
todos y
no se le puede hacer click y no afecta a las ventanas de windows
quitandole
el enfoque (o ventana de trabajo).
Tambien pude notar en EasyCafe algo parecido. En la parte superior
izquierda
muestra el tiempo transcurrido y el efectivo a cancelar.

Todos estos tipos de pantalla no afectan a una ventana de windows
quitandole
el enfoque, siempre estan encima y no solo eso el tamaño no son afectados
por la resoluccion, siempre mantienen un tamaño y un lugar en la
pantalla.
Parece que usaran poco colores y solo usan dibujo tipo MS-DOS... pero
para
mi proyecto es perfecto.

Estuve buscando en google pero no encuentro nada parecido que me pueda
ayudar.

Gracias de antemano.
Tu amigo Paul.







Microsoft Visual C++ MVP
==> Mi blog sobre programación: http://geeks.ms/blogs/rfog
Momentos Leves: http://momentosleves.blogspot.com/
Cosas mías: http://rfog.blogsome.com/
Libros, ciencia ficción y programación
> En apurada situación, haz de tripas corazón.
Respuesta Responder a este mensaje
#3 RFOG
21/07/2008 - 17:46 | Informe spam
On Mon, 21 Jul 2008 16:11:33 +0200, Paul P. Garcia
wrote:

Hola.

Es verdad, la ventana o el menu de Samsung no tiene nada que ver con
windows, solo queria poner un ejemplo de lo que necesito integrar en mi
proyecto.




Ok. :-)

Pude ver que EasyCafe logro lo que necesito... (siempre esta encima, no
se



Ni idea de qué es ese program.

le puede hacer click, no cambia de tamaño ni de lugar si se le cambia la
resoluccion al equipo, no le quita el foco a ninguna ventana)

Me puedes explicar un poco de como crear una ventana con pintado manual,
y
que el propietario sea el escritorio. Sobre el TOP_MOST entiendo un poco,
esto lo hacia en VB6 llamando a una Api. Pero creo q al ser una ventana
este
va a cambiar de lugar y de tamaño cada vez que el equipo cambie de
resoluccion (los juegos siempre cambian de resoluccion).




Yo hice algo así en C++ (Con el C++ Builder, pero a fin de cuentas, Win32)
pero el código está en mi anterior trabajo y no puedo mosrtarte nada.

De todos modos, en .NET puedes asignar None a FormBorderStyle y se queda
en una ventana sin marco alguno. Luego pon TopMost a true. Así creo que no
se puede mover, pero si se pudiera, debes sobreescribir el evento Move y
forzar a que esté en un mismo sitio. Para el foco podrías jugar con
VisibleChanged, Validated, Validating, Activated...

Y si con eso no funciona veremos de entrar a más bajo nivel.


"RFOG" escribió en el mensaje
news:
Esas ventanas no tienen nada que ver con Windows y ni siquiera con el
ordenador, ya que están dentro del firmware del monitor y es el propio
monitor el que las pone ahí (apaga y/o desenchufa el monitor del
ordenador
y verás cómo siguen apareciendo al pulsar los botones del monitor).

Se puede simular algo parecido en Windows, abriendo una ventana sin
marco
y con pintado manual, con la característica de TOP_MOST y cuyo
propietario
fuera el escritorio (HWND_DESKTOP), y creo que hasta se puede evitar que
coja el foco aunque apareza encima de todo, pero si haces clic sobre
ella,
lo cogerá... Ahora bien, el .NET creo que no soporta al completo todas
esas características y tendrás que liarte con los estilos de ventana
directamente con Win32...

On Mon, 21 Jul 2008 15:35:13 +0200, Paul P. Garcia

wrote:

Saludos.

Espero me pueda explicar...
En los monitores SAMSUNG modelo SyncMaster 794v cuando se presiona el
boton
de menu aparece las opciones del monitor y claro esto esta encima de
todos y
no se le puede hacer click y no afecta a las ventanas de windows
quitandole
el enfoque (o ventana de trabajo).
Tambien pude notar en EasyCafe algo parecido. En la parte superior
izquierda
muestra el tiempo transcurrido y el efectivo a cancelar.

Todos estos tipos de pantalla no afectan a una ventana de windows
quitandole
el enfoque, siempre estan encima y no solo eso el tamaño no son
afectados
por la resoluccion, siempre mantienen un tamaño y un lugar en la
pantalla.
Parece que usaran poco colores y solo usan dibujo tipo MS-DOS... pero
para
mi proyecto es perfecto.

Estuve buscando en google pero no encuentro nada parecido que me pueda
ayudar.

Gracias de antemano.
Tu amigo Paul.







Microsoft Visual C++ MVP
==>> Mi blog sobre programación: http://geeks.ms/blogs/rfog
Momentos Leves: http://momentosleves.blogspot.com/
Cosas mías: http://rfog.blogsome.com/
Libros, ciencia ficción y programación
>> En apurada situación, haz de tripas corazón.









Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Momentos Leves: http://momentosleves.blogspot.com/
Cosas mías: http://rfog.blogsome.com/
Libros, ciencia ficción y programación
En apurada situación, haz de tripas corazón.
Respuesta Responder a este mensaje
#4 Paul P. Garcia
22/07/2008 - 00:12 | Informe spam
Hola.
Primero gracias por todo eres de gran ayuda.

- EasyCafe es un programa para ciberCafe, para controlar el tiempo y todo
eso.

Lo que puedo notar es que un TOP_MOST no sirve si se inicia un juego y
ademas le cambia el tamaño a la ventana TOP_MOST...

Otra cosa mensionaste algo de hacerse propietario del
escritorio(HWND_DESKTOP ). Como se hace esto?
Respuesta Responder a este mensaje
#5 RFOG
22/07/2008 - 13:38 | Informe spam
On Tue, 22 Jul 2008 00:12:01 +0200, Paul P. Garcia
wrote:

Hola.
Primero gracias por todo eres de gran ayuda.

- EasyCafe es un programa para ciberCafe, para controlar el tiempo y todo
eso.

Lo que puedo notar es que un TOP_MOST no sirve si se inicia un juego y
ademas le cambia el tamaño a la ventana TOP_MOST...



Tenemos que hablar entonces de Win32 puro y duro.

Entonces necesitas una ventana modal y de sistema, pero por desgracia eso
ya no se puede hacer desde windows 2000 en adelante. Quizás funcione
mediante SetWindowPos() con el parámetro HWND_TOPMOST:
http://msdn.microsoft.com/es-es/ms633545(en-us,VS.85).aspx

Y quizás tengas que quitarle a la ficha el TopMost de .NET que quizás
interfiera.


Otra cosa mensionaste algo de hacerse propietario del
escritorio(HWND_DESKTOP ). Como se hace esto?





Pues en Win32, cuando creas la ventana, tienes que darle el padre de la
misma, poniendo ese valor la ventana pasa a formar parte del escritorio,
pero desde .NET no sé cómo se hace.


Si todo eso no funciona, puedes instalarte la parte de C++ del Visual
Studio y verás un programa que se llama Spy++, que es un capturador de
ventanas y que te muestra todo sobre ellas. Mirando qué estilos tiene esa
del EasyCafe podrás duplicarla.
Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Momentos Leves: http://momentosleves.blogspot.com/
Cosas mías: http://rfog.blogsome.com/
Libros, ciencia ficción y programación
El poder de moverse a sí mismo es la esencia del alma.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida