C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Нерегулярная ошибка при автозагрузке программы: "Cannot create system shell noti  (Прочитано 2865 раз)
Sasha
Участник


Сказали спасибо: +13/-0
Offline

Сообщений: 413


Нерегулярная ошибка при автозагрузке программы: "Cannot create system shell noti
« : 01 Октябрь 2014, 09:39:54 »

При автостарте моей программы вылетает иногда ошибка такого плана Cannot create system shell notification icon пытаюсь решить эту пролему таким образом

Код
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
TrayIcon1->Visible = false;
}
//---------------------------------------------------------------------------
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
{
static UINT s_uTaskbarRestart;
 
switch(uMessage)
 {
   case WM_CREATE:
   s_uTaskbarRestart = RegisterWindowMessage(TEXT("TaskbarCreated"));
   break;
   default:
 
 if(uMessage == s_uTaskbarRestart)
  {
    Form1->TrayIcon1->Visible = true;
  }
 }
return DefWindowProc(hWnd, uMessage, wParam, lParam);
}
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
WindowProc = WndProc;
Form1->Visible = false;
TrayIcon1->Visible = true;
}
//---------------------------------------------------------------------------
 

Правильно ли я отслеживаю сообщение TaskbarCreated?
Записан
xelablin
Участник


Сказали спасибо: +2/-0
Offline

Сообщений: 4


Re: Нерегулярная ошибка при автозагрузке программы: "Cannot create system shell noti
« Ответ #1 : 13 Октябрь 2014, 11:52:13 »

Судя по всему, программа при автозагрузке иногда стартует раньше, чем загружается Explorer.
Каким методом выполняется автозагрузка?
Записан
SilverFish
Участник


Сказали спасибо: +14/-6
Offline

Сообщений: 783


Re: Нерегулярная ошибка при автозагрузке программы: "Cannot create system shell noti
« Ответ #2 : 13 Октябрь 2014, 18:25:37 »

По таймеру проверить или загрузился Explorer.exe и только после этого добавлять иконку в трей.
Подробности в этой книге: Ч. Калверт, К. Рейсдорф. Borland C++ Builder. Энциклопедия программиста. Platinum Edition страница 237.
Скачать книгу можно здесь: http://biblioteka.cc/index.php?newsid=42774
Записан
Sasha
Участник


Сказали спасибо: +13/-0
Offline

Сообщений: 413


Re: Нерегулярная ошибка при автозагрузке программы: "Cannot create system shell noti
« Ответ #3 : 15 Октябрь 2014, 17:10:28 »

Спасибо почитаю
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.048 секунд. Запросов: 22.