"Свернуть все окна" - вот загадка

Тема в разделе "WASM.WIN32", создана пользователем XCoder, 21 авг 2005.

  1. XCoder

    XCoder New Member

    Публикаций:
    0
    Регистрация:
    7 апр 2004
    Сообщения:
    9
    Уважаемое программерское комьюнити, такой вот вопрос. Что именно происходит при запуске ярлыка свернуть все окна (или по нажатии Win + D)??? Только не надо говорить: посылка всем видимым окнам сообщения WM_SYSCOMMAND c кодом SC_MINIMIZE. Я УВЕРЕН что это не совсем так. Сообщение может и посылается, но происходит еще ЧТО-ТО 100%!!! Что же это?
     
  2. alpet

    alpet Александр

    Публикаций:
    0
    Регистрация:
    21 сен 2004
    Сообщения:
    1.221
    Адрес:
    Russia
    Может и не всем видимым, а только HWND_BROADCAST. У меня бывает это сочетание не оказывает эффекта, когда трассируется одна из программ. Так что тут наверняка замешаны сообщения.
     
  3. dr_dred

    dr_dred Сергей

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    301
    Адрес:
    Russia
    Вот ее "исходник". Может чем поможет.



    [Shell]

    Command=2

    IconFile=explorer.exe,3

    [Taskbar]

    Command=ToggleDesktop
     
  4. alpet

    alpet Александр

    Публикаций:
    0
    Регистрация:
    21 сен 2004
    Сообщения:
    1.221
    Адрес:
    Russia
    dr_dred

    Может в таком случае дополнительно производится отображение окна FolderView, через SetWindowPos. (WM_ACTIVATEAPP также проходит).
     
  5. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    XCoder см. \shell\explorer\task.c (ф-ция MinimizeAllThread)
     
  6. XCoder

    XCoder New Member

    Публикаций:
    0
    Регистрация:
    7 апр 2004
    Сообщения:
    9
    Я прошу прощения, где это смотреть?
     
  7. XCoder

    XCoder New Member

    Публикаций:
    0
    Регистрация:
    7 апр 2004
    Сообщения:
    9
    Так и быть раскрою карты. Я написал прогу - менеджер виртуальных рабочих столов. Она работает так: при переключении на другой виртуальный десктоп запоминает хэндлы всех видимых окон и прячет их, а показывает те, что относятся к активизированному десктопу. Все бы ничего, но если перед переключением на другой вирт. десктоп нажать Win + D то пропадает таскбар. Ничего не понимаю, ведь вообще при поиске окон исключаю классы Shell_TrayWnd и ProgMan.
     
  8. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    532
    Адрес:
    Russia




    смотреть, видимо, следует в первоисточнике, то бишь в исходниках винды (но только не следует здесь спрашивать, где их взять)
     
  9. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    Держи
     
  10. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
  11. readme

    readme New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2005
    Сообщения:
    271
    Адрес:
    Russia
    писал подобную прогу

    при поиски хэндолов окон вроде таскбар просто исключал из поиска
     
  12. XCoder

    XCoder New Member

    Публикаций:
    0
    Регистрация:
    7 апр 2004
    Сообщения:
    9
    2 readme: так я тоже...но не пашет