Mi aplicación está pensada para funcionar casi por completo a través de un elemento de la barra de tareas de Windows 7 con el uso de miniaturas y listas de salto. Sé que puedo crear fácilmente un Form
y simplemente ocultarlo, pero esto parece excesivo. Además, me gustaría juguetear con NativeWindow
tanto como sea posible, porque nunca lo había usado antes.Mostrar un elemento de barra de tareas con NativeWindow
Esencialmente, tengo una clase llamada RootWindow
que deriva de NativeWindow
que manejará teclas de acceso rápido y, con suerte, todo lo demás. No necesito una ventana visible en absoluto, sino simplemente algo para procesar los mensajes de la ventana y proporcionar un elemento de la barra de tareas al que puedo adjuntar miniaturas y listas de salto.
¿Hay algún tipo de opción especial CreateParams
que necesito pasar a CreateHandle
? ¿O no tengo suerte?
EDIT: Bueno, fue más fácil de lo que pensé que sería, aunque no es exactamente lo que quiero. Una vez que pasé el identificador NativeWindow
a la API ShowWindow
, apareció el elemento de la barra de tareas. Sin embargo, también muestra una ventana en la esquina superior izquierda de la pantalla. ¿Hay alguna manera de deshacerse de esa ventana sin dejar de mostrar el elemento de la barra de tareas?
public class RootWindow : NativeWindow {
public const int SW_SHOWNOACTIVATE = 4;
[DllImport("User32.dll")]
private static extern int ShowWindow(IntPtr hWnd, short cmdShow);
public RootWindow() {
CreateHandle(new CreateParams());
ShowWindow(this.Handle, SW_SHOWNOACTIVATE);
}
}
¿Qué ocurre si oculta la ventana? (Es decir, llame a ShowWindow (hwnd, SW_HIDE) –
El elemento de la barra de tareas desaparece. –