Мое приложение предназначено для работы почти полностью через элемент панели задач Windows 7 с использованием миниатюр и списков переходов. Я знаю, что могу легко создать 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);
}
}