Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > как не показывать прогу в баре?


Автор: BLACK_KOT 5.5.2009, 21:35
создаю форму на winapi:
Код

Procedure CreateMySelf;
begin
  with WCl do
    begin
      lpszClassName:='cln';
      lpfnWndProc:=@WndProc;
      hCursor:=LoadCursor(hInstance, IDC_ARROW);
      hbrBackground:=COLOR_3DSHADOW;
    end;
RegisterClass(WCl);
W:=CreateWindowEx(WS_EX_TOPMOST , 'cln', 'BLACK_KOT''s help IQ test', WS_VISIBLE or WS_POPUPWINDOW, 200, 200, 218, 230, 0, 0, hInstance, nil);
SetFocus(edit1);
end;


 какое свойство добавить, чтоб  в баре она не отображалась?
с VCL  прокатывала строка:
Код

SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);

а в winapi не катит

Автор: Rrader 6.5.2009, 05:06
Цитата(BLACK_KOT @  6.5.2009,  03:35 Найти цитируемый пост)
а в winapi не катит 

Код

CreateWindowEx(WS_EX_TOPMOST or WS_EX_TOOLWINDOW, 'cln', ...

Катит, но это сделает форме узкий заголовок. В VCL это использовалось для невидимого окна TApplication (отсюда виден первый способ скрытия кнопки - создание невидимого родителя). Есть еще ITasBarList, но при его использовании при пересоздании explorer.exe кнопка появится на панели.
Цитата(MSDN)

Managing Taskbar Buttons

The Shell creates a button on the taskbar whenever an application creates a window that isn't owned. To ensure that the window button is placed on the taskbar, create an unowned window with the WS_EX_APPWINDOW extended style. To prevent the window button from being placed on the taskbar, create the unowned window with the WS_EX_TOOLWINDOW extended style. As an alternative, you can create a hidden window and make this hidden window the owner of your visible window.

Код

W := CreateWindowEx(WS_EX_TOPMOST, 'cln', 'BLACK_KOT''s help IQ test', WS_VISIBLE or WS_POPUPWINDOW, 200, 200, 218, 230, 
  CreateWindowEx(0, 'STATIC', nil, WS_POPUP, 0, 0, 0, 0, 0, 0, HInstance, nil), 0, HInstance, nil);


Автор: BLACK_KOT 6.5.2009, 11:00
благодарю, помог!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)