Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.07;
Скачать: 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 вся ветка

Текущий архив: 2007.01.07;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.047 c
3-1161460608
Nik76
2006-10-21 23:56
2007.01.07
Как предотвратить автоматическое обновление поля?


2-1166255609
Bolt
2006-12-16 10:53
2007.01.07
Как програмно нажать на кнопочку?


15-1166125578
AntiUser
2006-12-14 22:46
2007.01.07
Видеофон на основе двух Web-камер


15-1166041376
Petr V. Abramov
2006-12-13 23:22
2007.01.07
а как будет "откат" по-английски? :)


15-1166356164
vitv
2006-12-17 14:49
2007.01.07
Вопрос по "промежуточному коду" .NET