Вниз
Скачать: CL | DM;

TaskBar, Alt+Tab   Найти похожие ветки 

← →
vain ©   (2006-12-15 14:14) [0]

Вопрос. Как сделать так, чтобы программа никак не обозначалась ни на таскбаре, ни в альттабе?
Нашел на delphimaster"e:

program Project1;
uses
 Forms,
 Windows,
 Unit1 in "Unit1.pas" {Form1};
{$R *.RES}
var
ExtendedStyle : integer;
begin
 Application.Initialize;
 ExtendedStyle:=GetWindowLong(application.Handle, GWL_EXSTYLE);
 SetWindowLong(Application.Handle, GWL_EXSTYLE,
   ExtendedStyle or WS_EX_TOOLWINDOW {AND NOT WS_EX_APPWINDOW});
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end.


Попробовал - из таскбара прячет, из альттаба - нет.

Ещё вопрос. Есть такая функция ShowWindow. В справке написано:

The ShowWindow function sets the specified window"s show state.

BOOL ShowWindow(

   HWND hWnd, // handle of window
   int nCmdShow  // show state of window
  );


Parameters

hWnd

   Identifies the window.


Но я втречал такое:
ShowWindow(Application.Handle, SW_HIDE)
Таким образом прячется программа с таскбара... Но ведь первый параметр - это хендл окна? Насколько я понял эта функция предназначена для окон, а не для приложений?


← →
umbra ©   (2006-12-15 14:28) [1]

программы на делфи, использующие формы VCL создают невидимое окно, представляющее объект Application.


← →
BOB16   (2006-12-15 15:31) [2]

Где-то встречал такое: может стоит порыться в ?:
integer i:=0;
SystemParametersInfo(SPI_SETFASTTASKSWITCH, 1, @i, 0);


← →
vain ©   (2006-12-15 15:59) [3]


> BOB16   (15.12.06 15:31) [2]
>
> Где-то встречал такое: может стоит порыться в ?:
> integer i:=0;
> SystemParametersInfo(SPI_SETFASTTASKSWITCH, 1, @i, 0);

Увы, это работает только до WinNT4.0


← →
alex_*** ©   (2006-12-15 16:03) [4]

а из TaskManager"a надо прятать?


← →
DVM ©   (2006-12-15 16:05) [5]


> Насколько я понял эта функция предназначена для окон, а
> не для приложений?

А у приложений нет хэндлов


← →
vain ©   (2006-12-15 16:14) [6]


> а из TaskManager"a надо прятать?

Да, но с этим я уже справился.
>
> DVM ©
> А у приложений нет хэндлов
>

Уже понял из [1]


← →
umbra ©   (2006-12-15 16:36) [7]

на 98-й винде следующий код делает то, что надо, но у формы нет кнопок для сворачивания.разворачивания и максимизации

procedure TForm1.FormCreate(Sender: TObject);
var
 ExtStyle: Integer;

begin
 ExtStyle := GetWindowLong(Handle, GWL_EXSTYLE);
 SetWindowLong(Handle, GWL_EXSTYLE, ExtStyle or WS_EX_TOOLWINDOW);
 ExtStyle := GetWindowLong(Application.Handle, GWL_EXSTYLE);
 SetWindowLong(Application.Handle, GWL_EXSTYLE, ExtStyle or WS_EX_TOOLWINDOW);
end;


← →
vain ©   (2006-12-15 19:24) [8]


> на 98-й винде

Да нме б в XP
:((((((((((((((((
А как же WinAmp работает?!!


← →
BOB16   (2006-12-16 22:21) [9]

Могет подойдёт: http://www.delphikingdom.ru/asp/answer.asp?IDAnswer=45183


← →
antonn ©   (2006-12-16 22:44) [10]

я фигею...
автор, попробуй в коде в своем первом посте убрать фигурные скобки...


← →
vain ©   (2006-12-17 18:09) [11]


> antonn ©   (16.12.06 22:44) [10]
>
> я фигею...
> автор, попробуй в коде в своем первом посте убрать фигурные
> скобки...
>

Гы...
Да это я просто по-всякому старался: ставил, убирал. Вот и получилось, что в таком виде прислал:)


← →
sicilla ©   (2006-12-17 23:39) [12]

Найди какой-нибудь компонент для работы с Tray, брось на форму, настрой его, и тогда все что хочешь, у тебя получится (У меня работает, проверил).  Кроме диспетчера задач. Оттуда надо будет уже постараться убрать твою задачу.
Могу посоветовать CoolTray или JVCL320CompleteJCL197 (очень крутой набор компнентов)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.027 c
15-1165336072
vrem
2006-12-05 19:27
2007.01.07
Тарелку - ставить или не ставить?


2-1166121630
Derty_Edd
2006-12-14 21:40
2007.01.07
Acess Vs Delphi


2-1166288517
Viper_Omsk
2006-12-16 20:01
2007.01.07
Процедура при нажатии на "крест"


2-1166175991
sidiakin
2006-12-15 12:46
2007.01.07
Помогите разобраться с машинным кодом!


15-1165953376
oxffff
2006-12-12 22:56
2007.01.07
Вопрос для Cyraxa. Как модифицировать GOF паттерн Visitor




   Наверх