Crear ventanas que no reciban el foco

25/01/2005 - 22:52 por Pepe | Informe spam
Saludos,

Me gustaría saber como puedo crear una ventana no modal,
que al crearla no se active (y no reciba el foco).

Como por ejemplo, en Outlook, cuando llega uncorreo,
aparece una pequeña ventana de notificación, pero ésta
nunca se activa. Igual sucede con el messenger cuando hay
notificaciones de correo nuevo.

De igual manera como puedo evitar que dicha ventana no se
active, como por ejemplo el teclado en pantalla de
microsoft.

Gracias.

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
26/01/2005 - 00:13 | Informe spam
Pepe,

Creo que el truco está en mostrar la ventana utilizando el estilo
SW_SHOWNOACTIVATE (tiene que ser con la API de WIndows).
Prueba este código:

[DllImport("User32.dll")]
public extern static int ShowWindow(IntPtr hWnd, Int32 cmdShow);

const Int32 SW_SHOWNOACTIVATE = 4;

[DllImport("User32.dll")]
public extern static bool SetWindowPos(
IntPtr hWnd, // handle to window
Int32 hWndInsertAfter, // placement-order handle
Int32 X, // horizontal position
Int32 Y, // vertical position
Int32 cx, // width
Int32 cy, // height
Int32 uFlags // window-positioning options
);

const Int32 SWP_NOACTIVATE = 0x0010;
const Int32 HWND_TOPMOST = -1;

private void button1_Click(object sender, System.EventArgs e)
{
Form f = new Form();
ShowWindow(f.Handle,SW_SHOWNOACTIVATE);
SetWindowPos(f.Handle,HWND_TOPMOST,0,0,f.Width,f.Height,SWP_NOACTIVATE);
}


"Pepe" escribió en el mensaje
news:1fdb01c50328$1fe08470$
Saludos,

Me gustaría saber como puedo crear una ventana no modal,
que al crearla no se active (y no reciba el foco).

Como por ejemplo, en Outlook, cuando llega uncorreo,
aparece una pequeña ventana de notificación, pero ésta
nunca se activa. Igual sucede con el messenger cuando hay
notificaciones de correo nuevo.

De igual manera como puedo evitar que dicha ventana no se
active, como por ejemplo el teclado en pantalla de
microsoft.

Gracias.
Respuesta Responder a este mensaje
#2 pepe
27/01/2005 - 20:25 | Informe spam
Gracias por tu ayuda, funcionó muy bien.

Solo tengo otra pregunta, como puedo hacer para evitar que esa ventana se
active al seleccionarla (ya sea con el teclado ALT+TAB, o con el ratón). Un
ejemplo de eso es el teclado en pantalla de WIN XP.

Gracias nuevamente.
Respuesta Responder a este mensaje
#3 Octavio Hernandez
27/01/2005 - 23:08 | Informe spam
Pepe,

Añade esto ahora:

http://groups.google.es/groups?q=.n...amp;rnum=1

Slds,

Octavio

"pepe" escribió en el mensaje
news:
Gracias por tu ayuda, funcionó muy bien.

Solo tengo otra pregunta, como puedo hacer para evitar que esa ventana se
active al seleccionarla (ya sea con el teclado ALT+TAB, o con el ratón).
Un
ejemplo de eso es el teclado en pantalla de WIN XP.

Gracias nuevamente.
Respuesta Responder a este mensaje
#4 pepe
31/01/2005 - 17:35 | Informe spam
Mil Gracias, tu ayuda la pude adaptar perfectamente para resolver mi problema.

Pepe.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida