Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.01.07;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
2-1166215698
DillerXX
2006-12-15 23:48
2007.01.07
Проблема с (var S: array of const)


2-1166099285
FIL-23
2006-12-14 15:28
2007.01.07
жадный цыкл


15-1165876750
IMHO
2006-12-12 01:39
2007.01.07
FAR и зрение


10-1127743909
yanker
2005-09-26 18:11
2007.01.07
Управление существующим сервером


15-1166154820
Slider007
2006-12-15 06:53
2007.01.07
С днем рождения ! 15 декабря





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский