Meine Anwendung soll fast vollständig durch eine Windows 7 Taskleiste Element mit der Verwendung von Miniaturansichten und Sprunglisten funktionieren. Ich weiß, ich kann leicht ein Form
erstellen und es einfach verstecken, aber das scheint wie Overkill. Außerdem möchte ich so viel wie möglich mit NativeWindow
herumspielen, weil ich es vorher nie benutzt habe.Zeigen Sie eine Taskleiste Element mit einem NativeWindow
Im Wesentlichen habe ich eine Klasse namens RootWindow
, die von NativeWindow
abgeleitet ist, die Hotkeys und hoffentlich alles andere behandeln wird. Ich brauche überhaupt kein sichtbares Fenster, sondern einfach etwas, um Fenstermeldungen zu verarbeiten und ein Taskleistenelement bereitzustellen, an das ich Thumbnails und Sprunglisten anhängen kann.
Gibt es eine spezielle CreateParams
Option, die ich an CreateHandle
weitergeben muss? Oder habe ich kein Glück?
EDIT: Nun, es war einfacher als ich dachte, obwohl es nicht genau das ist, was ich will. Sobald ich die NativeWindow
Handle an die API ShowWindow
übergeben, erschien die Taskleiste Element. Es wird jedoch auch ein Fenster in der oberen linken Ecke des Bildschirms angezeigt. Gibt es eine Möglichkeit, dieses Fenster zu entfernen, während das Taskleistenobjekt angezeigt wird?
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);
}
}
Was passiert, wenn Sie das Fenster ausblenden? (Z. B. ShowWindow (hwnd, SW_HIDE)) –
Das Taskleistenelement verschwindet. –