我的应用程序旨在使用缩略图和跳转列表几乎完全通过 Windows 7 任务栏项目工作。我知道我可以轻松地创建一个Form
并简单地隐藏它,但这似乎有点矫枉过正。另外,我想NativeWindow
尽可能多地玩弄,因为我以前从未使用过它。
本质上,我有一个名为的类RootWindow
,它派生自NativeWindow
它将处理热键并希望处理其他所有内容。我根本不需要可见的窗口,而只是处理窗口消息并提供可以附加缩略图和跳转列表的任务栏项目。
CreateParams
我需要传递某种特殊选项CreateHandle
吗?还是我运气不好?
编辑:嗯,这比我想象的要容易,虽然这不是我想要的。一旦我将NativeWindow
' 句柄传递给ShowWindow
API,任务栏项目就会出现。但是,它也会在屏幕的左上角显示一个窗口。有没有办法在显示任务栏项目的同时摆脱该窗口?
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);
}
}