Убить окно

Тема в разделе "WASM.BEGINNERS", создана пользователем Swat2k, 11 авг 2008.

  1. Swat2k

    Swat2k Дима

    Публикаций:
    0
    Регистрация:
    14 май 2007
    Сообщения:
    64
    Соб-но нужно убить окно проводника , получаю хенд окна через GetForegroundWindow , далее
    Код (Text):
    1. invoke SendMessage,eax,2h,0,01
    Но как то странно оно убило окно , само окно есть а внутренностей окна нету...
    Пробовал CloseWindow , DestroyWindows , но почему то они отказались работать ...
    Какие ещё есть способы убийства окна проводника?
     
  2. DEEP

    DEEP Андрей

    Публикаций:
    0
    Регистрация:
    27 апр 2008
    Сообщения:
    491
    Адрес:
    г. Владимир
    Окно проводника - це шотакое в вашем понимании?
    Окно с заголовком "Exploring - C:\" и деревом файлов слева?
    Окно, на котором расположены значки рабочего стола?
    Окно Панели Задач?
    Конкретизируйте вопрос, что именно нужно убивать.

    [+]: GetForegroundWindow - не самый надёжный из вариантов, имхо. Лучше пользовать FindWindow по имени класса.
     
  3. Swat2k

    Swat2k Дима

    Публикаций:
    0
    Регистрация:
    14 май 2007
    Сообщения:
    64
    На рабочем столе у меня есть ярлык Мой компьютер , вот когда его запускаешь это и есть окно.
    Как получить его класс ?

    [+]: Вопрос2 , как заставить открыть папку в этом же окне проводника? Вроде shellexecute смотрел , пробовал подставить в 1 параметр handle , но никаких результатов .
     
  4. DEEP

    DEEP Андрей

    Публикаций:
    0
    Регистрация:
    27 апр 2008
    Сообщения:
    491
    Адрес:
    г. Владимир
    Скопипастить отсюда ;)
    CabinetWClass
    А вообще рекомендую тулз "Spy". Вот он:
     
  5. Swat2k

    Swat2k Дима

    Публикаций:
    0
    Регистрация:
    14 май 2007
    Сообщения:
    64
    С помошью проги посмотрел какие сообщения передаются , попробовал пару новых параметров , но успеха не добился.Может нужно сочетать параметры? типа WM_CLOSE or WM_DESTROY...
    Про CabinetWClass не понял )
    Блин уже полтора часа немогу закрыться окно , дожил короч ))
     
  6. DEEP

    DEEP Андрей

    Публикаций:
    0
    Регистрация:
    27 апр 2008
    Сообщения:
    491
    Адрес:
    г. Владимир
    Окну надо отсылать не WM_DESTROY, а WM_NCDESTROY.
    И тогда будет щщастье!
     
  7. Swat2k

    Swat2k Дима

    Публикаций:
    0
    Регистрация:
    14 май 2007
    Сообщения:
    64
    Неработает ) , скомплировал запускаю , ничего не происходит , попробовал просто отослать WM_NCDESTROY , тоже не катит ( , в чём дело не пойму ...
     
  8. DEEP

    DEEP Андрей

    Публикаций:
    0
    Регистрация:
    27 апр 2008
    Сообщения:
    491
    Адрес:
    г. Владимир
    Странно...
    Щас перезапущусь в ХРеновине. Поглядим, что там с чем

    Итак, на основании данных тулзы, (аж целых) пяти штук испытаний, и одного сноса explorer'a, верная последовательность закрытия для ХР сервиспак2 такова:
     
  9. DEEP

    DEEP Андрей

    Публикаций:
    0
    Регистрация:
    27 апр 2008
    Сообщения:
    491
    Адрес:
    г. Владимир
    в общем-то, вот
     
  10. Swat2k

    Swat2k Дима

    Публикаций:
    0
    Регистрация:
    14 май 2007
    Сообщения:
    64
    Работает , спасибо ))