![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TaskBar, Alt+Tab
vain © (2006-12-15 14:14:00)Вопрос. Как сделать так, чтобы программа никак не обозначалась ни на таскбаре, ни в альттабе?
Нашел на 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)
Таким образом прячется программа с таскбара... Но ведь первый параметр - это хендл окна? Насколько я понял эта функция предназначена для окон, а не для приложений?
sicilla (2006-12-17 23:39:00) [1]Найди какой-нибудь компонент для работы с Tray, брось на форму, настрой его, и тогда все что хочешь, у тебя получится (У меня работает, проверил). Кроме диспетчера задач. Оттуда надо будет уже постараться убрать твою задачу.
Могу посоветовать CoolTray или JVCL320CompleteJCL197 (очень крутой набор компнентов)
vain (2006-12-17 18:09:00) [2]
> antonn © (16.12.06 22:44) [10]
>
> я фигею...
> автор, попробуй в коде в своем первом посте убрать фигурные
> скобки...
>
Гы...
Да это я просто по-всякому старался: ставил, убирал. Вот и получилось, что в таком виде прислал:)
antonn (2006-12-16 22:44:00) [3]я фигею...
автор, попробуй в коде в своем первом посте убрать фигурные скобки...
BOB16 (2006-12-16 22:21:00) [4]Могет подойдёт: http://www.delphikingdom.ru/asp/answer.asp?IDAnswer=45183
vain (2006-12-15 19:24:00) [5]
> на 98-й винде
Да нме б в XP
:((((((((((((((((
А как же WinAmp работает?!!
umbra (2006-12-15 16:36:00) [6]на 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 16:14:00) [7]
> а из TaskManager'a надо прятать?
Да, но с этим я уже справился.
>
> DVM ©
> А у приложений нет хэндлов
>
Уже понял из [1]
DVM (2006-12-15 16:05:00) [8]
> Насколько я понял эта функция предназначена для окон, а
> не для приложений?
А у приложений нет хэндлов
alex_*** (2006-12-15 16:03:00) [9]а из TaskManager'a надо прятать?
vain (2006-12-15 15:59:00) [10]
> BOB16 (15.12.06 15:31) [2]
>
> Где-то встречал такое: может стоит порыться в ?:
> integer i:=0;
> SystemParametersInfo(SPI_SETFASTTASKSWITCH, 1, @i, 0);
Увы, это работает только до WinNT4.0
BOB16 (2006-12-15 15:31:00) [11]Где-то встречал такое: может стоит порыться в ?:
integer i:=0;
SystemParametersInfo(SPI_SETFASTTASKSWITCH, 1, @i, 0);
umbra (2006-12-15 14:28:00) [12]программы на делфи, использующие формы VCL создают невидимое окно, представляющее объект Application.