私のアプリケーションは、サムネイルとジャンプリストを使用して、Windows7のタスクバーアイテムをほぼ完全に処理することを目的としています。簡単に作成してForm非表示にできることはわかっていますが、これはやり過ぎのようです。NativeWindowそれに、今まで使ったことがないので、できるだけいじってみたいです。
基本的に、私には、ホットキーと、できれば他のすべてを処理するRootWindow派生クラスがあります。NativeWindow表示されているウィンドウはまったく必要ありませんが、ウィンドウメッセージを処理し、サムネイルやジャンプリストを添付できるタスクバーアイテムを提供するためのものです。
CreateParams渡す必要のある特別なオプションはありますCreateHandleか?それとも私は運が悪いのですか?
編集:まあ、それは私が望んでいたものではありませんが、私が思っていたよりも簡単でした。NativeWindowのハンドルをAPIに渡すShowWindowと、タスクバーアイテムが表示されました。ただし、画面の左上隅にもウィンドウが表示されます。タスクバーアイテムを表示したまま、そのウィンドウを削除する方法はありますか?
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);
}
}