私のアプリケーションは、サムネイルとジャンプリストを使用して、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);
}
}