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

Вниз

Кнопка на панели задач   Найти похожие ветки 

 
Kair   (2003-07-19 09:45) [0]

Как сделать так, чтобы значок программы не появлялся на панели задач?
ShowWindow в OnPaint при определенных обстоятельствах не работает. Есть ли еще способы?


 
Palladin   (2003-07-19 10:32) [1]

это ж с какого такого похмелья надо было догадатся запихать ShowWindow в OnPaint...


 
Kair   (2003-07-19 10:39) [2]

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


 
Palladin   (2003-07-19 10:48) [3]


> Но при кое-каких вредных действий узера

расскажи мне эти действия?


 
Юрий Зотов   (2003-07-19 10:49) [4]

> Kair © (19.07.03 10:39)

А почему в OnPaint? Вы представляете себе, что делает обработчик OnPaint и зачем он нужен? Вот о чем говорил Palladin.

Перенесите в OnCreate главной формы. И запомните - ЮЗЕРЫ "кое-каких" вредных действий не совершают. Их совершают кое-какие программисты.

Надеюсь, Вы не из их числа?


 
Palladin   (2003-07-19 10:50) [5]

И еще один вопросик.
Где в таком:
ShowWindow(Application.Handle,sw_Hide);

написано что это надо пихать в OnPaint?


 
Kair   (2003-07-19 11:00) [6]

OnActivate.

Ну в общем по FindWindow сделал ограничение запуска копий.
Иконку для запуска с Рабочего стола переместил на панель быстрого запуска (там иконки эксплорера, свернуть все окна и прочие), это чтобы быстрее нажимать. Нажимаю быстро несколько раз на иконку. Ограничение запуска копий, срабатывает (правда не всегда), но у той единственной копии появляется кнопка на панели задач.

:)


 
Юрий Зотов   (2003-07-19 11:24) [7]

> Ограничение запуска копий, срабатывает (правда не всегда)

Это потому, что Вы сделали его по поиску окна. При быстром кликаньи по иконке вторая копия проверяет окно еще ДО того, как его создала первая копия. Поэтому не находит и запускается.

Для проверки на повторный запуск используйте объект ядра (мьютекс, проекцию файла и т.д.). Примеры найдете на Королевстве в разделе Hello, World!

А OnActivate - это тоже не то, что нужно. Используйте OnCreate.


 
Palladin   (2003-07-19 11:29) [8]

Пример с мьютексом лежит в FAQ и на этом сайте.
Очень хороший пример...
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988619824&n=15


 
Kair   (2003-07-19 18:55) [9]

Не, на OnCreate почему-то не работает.

Так есть ли еще способы спрятать кнопку?


 
Palladin   (2003-07-19 19:00) [10]

Удалено модератором


 
Palladin   (2003-07-19 19:11) [11]

Удалено модератором


 
Palladin   (2003-07-19 19:16) [12]


IsJustCreated:boolean; // или глобально или в форме - где хочешь там и определяй

procedure TForm1.FormCreate(Sender: TObject);
begin
IsJustCreated:=true;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
if IsJustCreated then
begin
ShowWindow(Application.Handle,sw_hide);
IsJustCreated:=false;
end;
end;


 
Anatoly Podgoretsky   (2003-07-19 21:45) [13]

Kair © (19.07.03 11:00)
FindWindow не предназначена для проверки вторй копии при очень быстром запуске их.



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

Форум: "Основная";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
14-10394
frost
2003-07-11 22:53
2003.08.04
Базы Paradox и различные файловые системы


14-10398
Мыш
2003-07-17 11:18
2003.08.04
Несколько вопросов о хостинге


14-10362
zolotov
2003-07-15 21:13
2003.08.04
Как заменить старую версию F1Book более новой?


6-10322
nemec
2003-05-27 21:18
2003.08.04
Сообщения в WebBrowser


3-10140
elf
2003-07-10 19:22
2003.08.04
Из базы данных в массив





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский