Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Собственный shell в Windows медленнее логон чем explorer / 1 сообщений из 1, страница 1 из 1
07.11.2008, 10:55
    #35639401
r.t.f.m.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Собственный shell в Windows медленнее логон чем explorer
Есть приложение, которое запускается на машине шеллом;
Когда пользователь логинится - если шеллом эксплорер - то запуск в течение 2-3 сек, но если мое приложение, то загрузка (вернее отображение моего приложения)- 30(+- 5) сек.

Выяснилось, что операционная система ждет уведомления от shell о готовности последнего,
если его нет, то процесс логона затягивается до возникновения таймаута (30 сек)

Вот как уведомить ОС о готовности своего shell:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
void SetShellReadyEvent()
{
      if (ELVersionInfo() == ELVI_VISTA) 
        wcscpy(shellEvent, TEXT("ShellDesktopSwitchEvent")); 
      else 
        wcscpy(shellEvent, TEXT("msgina: ShellReadyEvent")); 

      HANDLE hLogonEvent = OpenEvent(EVENT_MODIFY_STATE, FALSE, shellEvent); 
      if (hLogonEvent) 
      { 
        SetEvent(hLogonEvent); 
        CloseHandle(hLogonEvent); 
      }
}
Источник
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Собственный shell в Windows медленнее логон чем explorer / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]