Статья:
Как сделать, чтобы окно не появлялось на панели задач?Автор(ы): Александр Шаргин
Дата: 21.06.2001
Авторы:
Александр Шаргин
Аннотация:
Существует по крайней мере два способа решить эту задачу. Оба документированы в базе знаний Микрософт. Первый очень прост в реализации, но подходит не всегда. Второй более универсальный, а его реализация лишь немного труднее.
А также первый способ не работает в 98. :(
Приведенный ниже код скрывает/показывает первый попавшийся Notepad (т.е. можно скрывать любое окно... даже не свое).
HWND hWnd = ::FindWindow(_T("Notepad"), NULL);
if(!hWnd)
return;
// Если окно уже имеет парента...
if(::GetWindowLong(hWnd, GWL_HWNDPARENT))
// урать его, тем самым показав в таскбаре...
::SetWindowLong(hWnd, GWL_HWNDPARENT, NULL);
else
// иначе ставим его парантом к DesktopWindow, тем самым убирая из таскбара.
::SetWindowLong(hWnd, GWL_HWNDPARENT, (LONG)::GetDesktopWindow());