Здравствуйте, Аноним, Вы писали:
А>Как запретить сворачивать приложение Delphi по нажатию Windows + D?
Наверное как-то можно, но не стоит. Win+D было сделано как раз для того, чтобы пользователь мог увидеть Рабочий Стол, несмотря на все "несворачиваемые" программы.
Re[2]: Windows + D
От:
Аноним
Дата:
22.03.08 21:08
Оценка:
Здравствуйте, wildwind, Вы писали:
W>Наверное как-то можно, но не стоит. Win+D было сделано как раз для того, чтобы пользователь мог увидеть Рабочий Стол, несмотря на все "несворачиваемые" программы.
Мне виднее, стоит или не стоит, не так ли?
Если ваше знание предмета ограничивается "Наверно как-то можно", то совсем не обязательно было писать в теме.
Я уже несколько часов пытаюсь найти как это сделать. Если есть конкретные предложения, прошу поделиться.
Здравствуйте, Аноним, Вы писали:
А>Как запретить сворачивать приложение Delphi по нажатию Windows + D?
На сколько я знаю, болокировать эту команду штатными средствами нельзя. Я как-то сталкивался с подобной проблемой, мне оказалось достаточно разворачивать приложение по таймеру каждые, например, 100 мс. (Перехватить момент сворачивания по win+D мне не удалось)
Умный человек знает не многое, но нужное
Re[2]: Windows + D
От:
Аноним
Дата:
23.03.08 06:42
Оценка:
Здравствуйте, AlexVinS, Вы писали:
AVS>На сколько я знаю, болокировать эту команду штатными средствами нельзя. Я как-то сталкивался с подобной проблемой, мне оказалось достаточно разворачивать приложение по таймеру каждые, например, 100 мс. (Перехватить момент сворачивания по win+D мне не удалось)
Спасибо, наверно придется сделать так. Хотя хочется по-человечески (:
Re[2]: Windows + D
От:
Аноним
Дата:
23.03.08 07:11
Оценка:
Ещё, забыл спросить. Я никак не найду способ определить, что программа была свёрнута по Alt + D. Не в курсе, как можно сделать (кроме слежения за клавиатурой)? Это чтобы по таймеру лишний раз не разворачивать.
Здравствуйте, Аноним, Вы писали:
А>Как запретить сворачивать приложение Delphi по нажатию Windows + D?
Отлавливай сообщение WM_Minimize (не помню точно как пишется) и игнорируй его.
Re[2]: Windows + D
От:
Аноним
Дата:
23.03.08 09:06
Оценка:
Здравствуйте, AndreyRus, Вы писали:
AR>Отлавливай сообщение WM_Minimize (не помню точно как пишется) и игнорируй его.
В том то и дело, что окно не получает сообщение wm_minimize при windows + D. Если бы всё было так просто...
Попробуй сам. Если получится, покажи код (:
Здравствуйте, Аноним, Вы писали:
А>Мне виднее, стоит или не стоит, не так ли?
IMHO не так. В данном случае я поддерживаю MS в желании иметь кнопку, которая всегда покажет Рабочий Стол.
А>Если есть конкретные предложения, прошу поделиться.
Насколько я знаю, "нормальным" способом невозможно. Но если очень хочется... Вот здесь Рэймонд Чен объясняет, как это работает. Соответственно можно подумать, как обмануть систему.
Здравствуйте, Аноним, Вы писали:
А>Мне виднее, стоит или не стоит, не так ли?
Да и пусть себе стоит, мы ж не против.
--
С уважением, LVT
Re[4]: Windows + D
От:
Аноним
Дата:
23.03.08 15:30
Оценка:
Здравствуйте, wildwind, Вы писали:
W>Насколько я знаю, "нормальным" способом невозможно. Но если очень хочется... Вот здесь Рэймонд Чен объясняет, как это работает. Соответственно можно подумать, как обмануть систему.
Да, почитать интересно (: Но у меня до сих пор нет идей, как это сделать...
Re[4]: Windows + D
От:
Аноним
Дата:
23.03.08 16:24
Оценка:
Здравствуйте, Leonid Troyanovsky, Вы писали:
LT>Да и пусть себе стоит, мы ж не против.
Я искренне рад, что вам по душе моя затея (:
Но боюсь, что офтопом здесь не поможешь.
Здравствуйте, Аноним, Вы писали:
А>Ещё, забыл спросить. Я никак не найду способ определить, что программа была свёрнута по Alt + D. Не в курсе, как можно сделать (кроме слежения за клавиатурой)? Это чтобы по таймеру лишний раз не разворачивать.
Я же написал, что мне это не удалось. Может есть какойнить хук на изменения в стеке окон — поищи, может и найдешь.
Здравствуйте, Аноним, Вы писали:
А>Я искренне рад, что вам по душе моя затея (:
Э, как опрокинуло.
А>Но боюсь, что офтопом здесь не поможешь.
Все уже сказано в [3].
"Несворачиватели окон", "неубойцы процессов", "похитители фокуса" и пр. —
задолбали.
--
С уважением, LVT
Re[6]: Windows + D
От:
Аноним
Дата:
23.03.08 17:51
Оценка:
Здравствуйте, Leonid Troyanovsky, Вы писали:
LT>Все уже сказано в [3]. LT>"Несворачиватели окон", "неубойцы процессов", "похитители фокуса" и пр. - LT>задолбали.
Меня попросили, чтоб по win+d не сворачивалось, и я не понимаю причем тут твои "похитители и неубойцы".
Чем же это я тебя задолбал? Никак не пойму. Прошу меня простить, я повторюсь, но твой офтоп тут совершенно ни к месту.
Здравствуйте, Аноним, Вы писали:
А>Меня попросили, чтоб по win+d не сворачивалось
И я попрошу передать, что про это здесь сказали.
--
С уважением, LVT
Re[8]: Windows + D
От:
Аноним
Дата:
23.03.08 19:10
Оценка:
Здравствуйте, Leonid Troyanovsky, Вы писали:
LT>И я попрошу передать, что про это здесь сказали.
Я не пойму, или я говорю не внятно, или у кого-то проблемы с пониманием. Я вроде по-русски пишу, стараюсь по возможности ошибок не делать, матом даже не ругаюсь (: Вообщем, делаю всё чтобы меня было возможно понять почти не прилагая усилий (:
Повторю ещё раз. Какой, третий? Вроде так. Если человеку нужно(ему удобней будет работать, если программа будет вести себе описанным мной образом), то каким боком меня должно интересовать, что про это ЗДЕСЬ сказали?
И вообще, к чему ты это всё мне рассказываешь? Если ты не знаешь как решить задачу, то так и скажи, или вообще ничего не говори.
Здравствуйте, Аноним, Вы писали:
А>Повторю ещё раз. Какой, третий? Вроде так. Если человеку нужно(ему удобней будет работать, если программа будет вести себе описанным мной образом), то каким боком меня должно интересовать, что про это ЗДЕСЬ сказали?
Почему ж вышесказанное должно интересовать, если сказанное здесь не интересует даже оного человека.
Блин, учила ж мама: не связывайся с пьяными, милиционерами и анонимами
Здравствуйте, Аноним, Вы писали:
А>Как запретить сворачивать приложение Delphi по нажатию Windows + D?
Все просто )))
Регистрируешь глобальный перехватчик нажатий клавиш в виде dll, ну хук т.е. ставишь (если не знаешь как, то в нете море инфы.. Just find)
Далее работаешь с хэндлами окна, т.е. пропускаешь все окна кроме твоего. Как только окно твое и нажато сочетание клавиш win+d то пропускаешь это сочетание мимо окна.
Работоспособность 100%.
Но антивирусам это может не понравится.
Re[10]: Windows + D
От:
Аноним
Дата:
23.03.08 20:28
Оценка:
Здравствуйте, Leonid Troyanovsky, Вы писали:
LT>Почему ж вышесказанное должно интересовать, если сказанное здесь не интересует даже оного человека.
LT>Блин, учила ж мама: не связывайся с пьяными, милиционерами и анонимами
Здравствуйте, Аноним, Вы писали:
А>Как запретить сворачивать приложение Здравствуйте, Аноним, Вы писали:
А>Как запретить сворачивать приложение Delphi по нажатию Windows + D?
по win+D окнам ничего не приходит. Окно десктопа само выносится на передний план. Мне известно только два способа всегда показывать окно — сделать свое окно выне всех (topmost) или сделать окно рабочего стола парентом у своего окна Правда в этом случае оно будет всегда лежать на рабочем столе (что, в общем-то, для всяких виджетов очень подходит). Способ отлавливания нажатия и SetWindowPos() не рассматривал как "костыльный"
PS Отдельное "фи" Леониду. Узкий кругозор мешает нормально мыслить, а со стороны выглядит глупо.Delphi по нажатию Windows + D?
Здравствуйте, Leonid Troyanovsky, Вы писали:
LT>Здравствуйте, antonn, Вы писали:
A>>а со стороны выглядит глупо.
LT>Умные причины сопротивления Win+D — в студию.
Эта комбинация призвана не скрыть все окна, а показать рабочий стол. На рабочем столе могут располагаться иконки, окна (те же виджеты, например календарь). Которые не нужно загораживать рабочим столом.
Здравствуйте, antonn, Вы писали:
A>Эта комбинация призвана не скрыть все окна, а показать рабочий стол. На рабочем столе могут располагаться иконки, окна (те же виджеты, например календарь). Которые не нужно загораживать рабочим
Про скрытие, IMHO, я и не говорил ("несворачиватели" — несколько о другом).
И чего, оные widget API не имеют, или, скажем, к.л. COM?
Ну, и если не имеют, то чего ж автор это утаил.
Кроме того, это еще не повод для партизанщины.