Дело было на XP...
На днях прикидывал пути решения регулярной на форумах задачки: скрытный (в смысле — окна скрыты) запуск приложения.
И один из вариантов с WH_CBT преподнес сюрприз, отмеченный мнемоникой в заголовке.
Суть в том, что совершенно легальные действия по изменению Z-order
после нажатия стандартного сочетания Win+D или соответствующей кнопки на Quick Launch
приводят к немедленной перезагрузке с извещением о серьезной ошибке...
В аттаче — минимальный рабочий пример (+ исходник): обычный шаблон создания простого окна,
только перед вызовом CreateWindowEx — в своем потоке ставим хук WH_CBT,
на HCBT_CREATEWND устанавливаем наше окно в самый низ Z-order, и затем хук снимаем. Вот и все.
Полученное окно спрятано за "рабочий стол", поэтому на таскбаре оставлена кнопка, контроля ради.
Ну, и теперь — Win+D !
P.S.
Проверил только на XP-pro-sp2, и, конечно, очень интересует, как там на других WinOS? Не поленитесь, дайте знать.
Проверил, воспроизводится на всех системах (кроме может быть NT4). Падение в Win32k.sys, значит опять в оконной подсистеме что-то неладно. Надо бы баг им запостить.
Здравствуйте, x64, Вы писали:
x64>Проверил, воспроизводится на всех системах (кроме может быть NT4).
Спасибо!
x64>Падение в Win32k.sys, значит опять в оконной подсистеме что-то неладно. x64>Надо бы баг им запостить.
Да как-то не получилось найти вменяемый feedback, или просто я такой тупой...
Раз за разом что-то там не распознают в js моего IE — и привет.
(Отправлять же прямо с компа из-под сообщения об ошибке что-то не хочется).
K>Ну, и теперь — Win+D ! K>P.S. K>Проверил только на XP-pro-sp2, и, конечно, очень интересует, как там на других WinOS? Не поленитесь, дайте знать.
да коряво у них там все с хуками, я уже находил другой баг там: http://bugtraq.ru/rsn/archive/2008/11/01.html
но он на моей win2k3 уже не воспроизводится, пофиксили когдато с апдейтами
Как много веселых ребят, и все делают велосипед...
Здравствуйте, kero, Вы писали:
K>Дело было на XP... K>На днях прикидывал пути решения регулярной на форумах задачки: скрытный (в смысле — окна скрыты) запуск приложения. K>И один из вариантов с WH_CBT преподнес сюрприз, отмеченный мнемоникой в заголовке.
K>Суть в том, что совершенно легальные действия по изменению Z-order K>после нажатия стандартного сочетания Win+D или соответствующей кнопки на Quick Launch K>приводят к немедленной перезагрузке с извещением о серьезной ошибке...
K>В аттаче — минимальный рабочий пример (+ исходник): обычный шаблон создания простого окна, K>только перед вызовом CreateWindowEx — в своем потоке ставим хук WH_CBT, K>на HCBT_CREATEWND устанавливаем наше окно в самый низ Z-order, и затем хук снимаем. Вот и все. K>Полученное окно спрятано за "рабочий стол", поэтому на таскбаре оставлена кнопка, контроля ради.
K>Ну, и теперь — Win+D !
K>P.S. K>Проверил только на XP-pro-sp2, и, конечно, очень интересует, как там на других WinOS? Не поленитесь, дайте знать.
K>http://files.rsdn.ru/42164/4_win+d.zip
Здравствуйте, x64, Вы писали:
K>>(Отправлять же прямо с компа из-под сообщения об ошибке что-то не хочется).
x64>Самый простой способ и не вижу тут ничего такого. Поставь kernel memory dump и будет тебе щастье, всего-то метров 200.
Но в данном-то случае — какой вообще смысл отсылать что-либо сверх моей демки? компы-то у них, поди, есть?
Однако в конце-концов осенило: вспомнил свои багрепорты по Process Explorer и просто написал в блог Марку Русиновичу.
Он очень быстро ответил, переслал ему, что он попросил, ждем продолжения
.
Здравствуйте, x64, Вы писали:
K>>...написал в блог Марку Русиновичу. K>>Он очень быстро ответил, переслал ему, что он попросил, ждем продолжения
x64>*Запаслись попкорном* x64>Ссылку дал бы сюда что ли.
O>смеха ради запустил на win'95 (помните такую? ) и... http://img96.imageshack.us/img96/7245/w95bsod.png O>что характерно — Win+D не потребовался (да и нету его там)
надо бы тогда еще на Wine проверить
А знаете — за это сообщение вам отдельное спасибо, кроме шуток. Еще бы узнать про Win98 (не виртуалку)...
Хотелось бы проверить предположение, что организация Z-order с тех пор не менялась.
Здравствуйте, std.denis, Вы писали:
SD>надо бы тогда еще на Wine проверить
Сам Wine не имею, но судя по сообщениям на RSDN — винды там сымитированы довольно халтурно. Помнится, и Z-order у них не такой, и EditBox — однобуферный.... Так что можно и не проверять
Только что сообщили, что Windows 7 Build 7600 x86 окно под "рабочий стол" загнать не позволяет и бсода нет.
Нет ли у кого таких же виндов, — проверить, может и от машины зависит?
K>Windows 7 Build 7600 x86 окно под "рабочий стол" загнать не позволяет и бсода нет. K>Нет ли у кого таких же виндов, — проверить, может и от машины зависит?
Есть падение, именно на этой системе, виртуалка VirtualBox 3.1.0. А зависит скорее не от машины, а от набора установленного софта, типа всяких там "менеджеров окон" и т.п.
Здравствуйте, x64, Вы писали:
K>>Windows 7 Build 7600 x86 окно под "рабочий стол" загнать не позволяет и бсода нет. K>>Нет ли у кого таких же виндов, — проверить, может и от машины зависит?
x64>Есть падение, именно на этой системе, виртуалка VirtualBox 3.1.0. А зависит скорее не от машины, а от набора установленного софта, типа всяких там "менеджеров окон" и т.п.
А кстати, судя по тому же сообщения о Windows 7 Build 7600 x86 от Derek —
(http://www.wasm.ru/forum/viewtopic.php?id=35657, сообщение #21) —
на виртуалке валится вообще все подряд...
А Windows 7 Build 7600 x86 у него — "physical host"...
Здравствуйте, kero, Вы писали:
K>А кстати, судя по тому же сообщения о Windows 7 Build 7600 x86 от Derek - K>(http://www.wasm.ru/forum/viewtopic.php?id=35657, сообщение #21) - K>на виртуалке валится вообще все подряд... K>А Windows 7 Build 7600 x86 у него — "physical host"...