Как запустить IE так чтобы окно не появлялось?

Тема в разделе "WASM.ZEN", создана пользователем OpticalToxin, 29 апр 2010.

  1. OpticalToxin

    OpticalToxin New Member

    Публикаций:
    0
    Регистрация:
    13 фев 2010
    Сообщения:
    14
    Адрес:
    Russia
    под xp и 7 при запуске указываю SW_HIDE все нормуль
    Столкнулсо с проблемой под Vista браузер всегда показывает свое окно
    пробывал создавать новый десктоп - не помогает
    кто-нить знает решение?
     
  2. VaZoNeZ

    VaZoNeZ New Member

    Публикаций:
    0
    Регистрация:
    12 июл 2009
    Сообщения:
    121
    Есть ShowWindow
     
  3. OpticalToxin

    OpticalToxin New Member

    Публикаций:
    0
    Регистрация:
    13 фев 2010
    Сообщения:
    14
    Адрес:
    Russia
    вобщемта помогло, осталось тока поймать создание окна
     
  4. karabas_barabas

    karabas_barabas Member

    Публикаций:
    0
    Регистрация:
    9 авг 2009
    Сообщения:
    168
    в крайнем случае можно в цикле FindWindow IsWindowVisible ShowWindow
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Тут был топик гдето про запуск прилодений со скрытыми окнами, вроде Leo автор, точно не помню.
     
  6. OpticalToxin

    OpticalToxin New Member

    Публикаций:
    0
    Регистрация:
    13 фев 2010
    Сообщения:
    14
    Адрес:
    Russia
    не нашел

    FindWindow не знаю как у всех, а у мну она возвращаяет первое попавшееся окно с подходящим классом: IEFrame, это не подходит если открыто несколько окон у пользователя

    Думаю сделать так:
    - создаем задание в своем процессе: CreateJobObject
    - запускаем IE
    - добавляем его в задание: AssignProcessToJobObject
    - в цикле с коротким интервалом юзаем функцию: EnumWindows
    - для каждого найденого хэндла окна получаем PID процесса
    - проверяем входит ли данный процесс в задание: IsProcessInJob
    - если входит то вызываем для найденого хэндла окна: ShowWindow

    только вот смущает то что поток должен работать постоянно
    Если использовать: SetWindowsHook для отлова нужного окна, эта функция сильно палица антивирусами?
     
  7. karabas_barabas

    karabas_barabas Member

    Публикаций:
    0
    Регистрация:
    9 авг 2009
    Сообщения:
    168
    нет - это 0day
     
  8. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    OpticalToxin
    Поиск занял пару секунд http://wasm.ru/forum/viewtopic.php?id=35899
    Я ошибся на счёт автора, это kero.
     
  9. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    запускать на соседнем десктопе было бы разумнее всего, я думаю; нэ?
     
  10. OpticalToxin

    OpticalToxin New Member

    Публикаций:
    0
    Регистрация:
    13 фев 2010
    Сообщения:
    14
    Адрес:
    Russia
    в каком соседнем? что ты имеешь ввиду?
    я пробывал создавать новый десктоп и указывал его в StartupInfo у CreateProcess, на висте создание процесса завершаецо с ошибкой 0xc0000142, из-за какой-то библиотеки
     
  11. OpticalToxin

    OpticalToxin New Member

    Публикаций:
    0
    Регистрация:
    13 фев 2010
    Сообщения:
    14
    Адрес:
    Russia
    я не понял это юмор наверно

    кароч вместо IsWindowVisible + ShowWindow заюзал WindowSetPos, т.к. окно уже существует но еще не отображено, поэтому меняю ему позицию и размеры, чтобы были за пределами экрана
    если юзать IsWindowVisible, то окно мелькнет - это заметно
    после WindowSetPos можно вызывать или не вызывать ShowWindow, все что породит IE будет за пределами экрана
     
  12. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    запускай на десктопе системных процессов, к примеру.

    ещё можно заморочиться на запуск параллельной сессии, но это уже лишнее.
     
  13. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Только сейчас подумал.. а зачем браузер без окон ?
     
  14. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Clerk
    он может просто в файере разрешён и нужно передать на админку какие-то данные через URL, методом GET
     
  15. 0x6b65

    0x6b65 Забанен

    Публикаций:
    0
    Регистрация:
    8 окт 2009
    Сообщения:
    92
    Навскидку: защита легко может спалить "не доверенного" родителя (KIS похожую систему использует). Думаю, что есть еще немало параметров, по которым можно определить работу левого браузера

    По теме: можно использовать COM-интерфейс IWebBrowser2: http://msdn.microsoft.com/en-us/library/aa752127(VS.85).aspx. Процесс iexplore.exe будет запущен без окон от svchost.exe (служба DcomLaunch)
     
  16. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    создать эксплорер как ком обьект. Тогда создается и процесс.
    И пока сам не покажешь окно оно тне покажется, а там уж найти Pid
     
  17. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    0x6b65 сорри не заметил. Именно оно