Мое приложение предназначено для работы почти полностью через элемент панели задач Windows 7 с использованием миниатюр и списков переходов. Я знаю, что могу легко создать Form
и просто скрыть его, но это похоже на перебор. Кроме того, я бы хотел побольше пообщаться с NativeWindow
, потому что я никогда не использовал его раньше.Показать элемент панели задач с помощью NativeWindow
По существу, у меня есть класс под названием RootWindow
, который происходит от NativeWindow
, который будет обрабатывать горячие клавиши и, надеюсь, все остальное. Мне совсем не нужно видимое окно, а просто что-то обрабатывать оконные сообщения и предоставлять элемент панели задач, к которому я могу прикреплять миниатюры и списки переходов.
Есть ли какая-то специальная опция CreateParams
Мне нужно перейти на CreateHandle
? Или мне не повезло?
EDIT: Ну, это было легче, чем я думал, что это будет, хотя это не совсем то, что я хочу. Как только я передал дескриптор 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);
}
}
Что произойдет, если вы скроете окно? (I.e., вызов ShowWindow (hwnd, SW_HIDE) –
Элемент панели задач исчезает. –