Скрытный запуск приложений (NB: скрытно - значит без промелькиваний)

Тема в разделе "WASM.PROJECTS", создана пользователем kero, 31 дек 2009.

  1. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    kero
    на SP3: моргает, скрывается под стол, фокус окна, которое было активным до запуска, теряется.
     
  2. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    RamMerLabs
    пока главное - что уходит таки под стол :)
    поскольку прога своя - можно рассчитывать все поправить
    (хотя тогда придется и дальше без хуков...)
    А что насчет WS_EX_TOPMOST: у вас это условие столь же критично?
     
  3. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    kero
    сорри, что написал сразу.
    да, без WS_EX_TOPMOST окно под стол не уходит.
     
  4. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    ага, спасибо.
     
  5. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    *не написал сразу.
    фак, когда же будет редактирование?
    ЗЫ: модераторам: можно поправить мой пост и удалить этот, чтобы не забивать тему исправлениями?
     
  6. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    С утилой вышла заминка: посетили кое-какие мыслишки, надо докумекать...

    Поэтому пока - вариант безхукового "запуска под стол".
    В прошлый раз специально выбрал самый проблемный, с CreateWindowEx.
    А теперь DialogBox, на xp-pro-sp2 - абсолютно без промелькиваний
    (но конечно же - очередная просьба проверить на Win OS > xp-pro-sp2).

    Т.е. это - еще один способ скрытого запуска DialogBox (вопрос-феникс на форумах),
    наряду с подавлением бита SWP_SHOWWINDOW на WM_WINDOWPOSCHANGING и пр.

    Закоментированный в исходнике вариант - это вариант без WS_EX_TOPMOST в шаблоне диалога.
    Дважды закоментированный довесок - для демонстрации того, что такой вариант не свободен от промелькиваний.
     
  7. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    Для большей скрытности: + WS_EX_NOACTIVATE в шаблон диалога.
     
  8. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    kero
    wxp sp3:
    1й вариант (все закомментированные строки без изменений) - работает, промелькиваний нет.
    2й вариант (;) - аналогично
    3й вариант (;;) - аналогично.

    если к диалогу добавить WS_EX_NOACTIVATE - появляется окно при клике на рабочем столе:)
     
  9. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    RamMerLabs , приветствую и спасибо :)

    Что касается появления из-под стола при клике по столу - так ведь это и без WS_EX_NOACTIVATE так:
    очевидно, особенность безбсодового загона под стол :)