Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как отследить минимизация форма по Win+D?
|
|||
|---|---|---|---|
|
#18+
Написал процедуру для выполнения действий при минимизации главной формы (свернуть программу в трей, обновить контекстное меню иконки в трее и т.д.). Код: pascal 1. 2. 3. 4. 5. 6. Всё прекрасно работает, но не для волшебной комбинации клавиш Win + D ("Показать рабочий стол"). Эта системная комбинация клавиш сворачивает все открытые окна без вызова Application.OnMinimize. Моя программа минимизируется, но заданные действия не выполняются. Вопрос: как отследить минимизацию программы по нажатию Win + D? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2021, 20:20 |
|
||
|
Как отследить минимизация форма по Win+D?
|
|||
|---|---|---|---|
|
#18+
Добрый день. Вопрос понятен, но боюсь, что это не так просто сделать. Я попытался найти решение, но слету не получилось. Понял, что копать надо в сторону хуки, потому что при нажатии кнопки "Свернуть все окна" или Win-D система генерирует специальное событие тулбару. Можете это проверить простым кодом: Код: pascal 1. 2. 3. 4. Информацию получал отсюда и отсюда Возможно есть решение проще, буду признателен, если кто-то из гуру подскажет и(или) направит в нужную сторону ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 12:49 |
|
||
|
Как отследить минимизация форма по Win+D?
|
|||
|---|---|---|---|
|
#18+
Benten, Используйте утилиту Microsoft Spy++ для отслеживания сообщений, которые получает ваше окно при сворачивании таким способом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 14:41 |
|
||
|
Как отследить минимизация форма по Win+D?
|
|||
|---|---|---|---|
|
#18+
https://stackoverflow.com/questions/59820519/how-do-i-detect-minimization-in-an-inactive-win32-app Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 15:05 |
|
||
|
Как отследить минимизация форма по Win+D?
|
|||
|---|---|---|---|
|
#18+
Cobalt747 Используйте утилиту Microsoft Spy++ для отслеживания сообщений, которые получает ваше окно при сворачивании таким способом. Спасибо, использую Spy++, но пока не могу отловить никаких сообщений моему приложению при нажатии <Win+D> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 15:35 |
|
||
|
Как отследить минимизация форма по Win+D?
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы. Решение отыскал на этом форуме, в других темах. Худо-бедно, оно работает: надо отлавливать событие WM_SIZE. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. Тут главное позаботиться о том, чтобы при минимизации приложения заданные действия выполнялись только один раз, так как при обычном сворачивании окна после TForm1.WMSize будет также выполнен TForm1.ApplicationMinimize. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 17:05 |
|
||
|
Как отследить минимизация форма по Win+D?
|
|||
|---|---|---|---|
|
#18+
crossaХудо-бедно, оно работает: надо отлавливать событие WM_SIZE. Может, WM_WINDOWPOSCHANGED, упомянутый по ссылке выше, получше будет? Там можно явно отследить скрытие окна по флагу, без эвристик. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 18:01 |
|
||
|
Как отследить минимизация форма по Win+D?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov crossaХудо-бедно, оно работает: надо отлавливать событие WM_SIZE. Может, WM_WINDOWPOSCHANGED, упомянутый по ссылке выше, получше будет? Там можно явно отследить скрытие окна по флагу, без эвристик. Отслеживание события WM_SIZE работает очень хорошо и не дает ложных срабатываний WM_WINDOWPOSCHANGED срабатывает слишком часто, его лучше не использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 18:32 |
|
||
|
Как отследить минимизация форма по Win+D?
|
|||
|---|---|---|---|
|
#18+
crossa Тут главное позаботиться о том, чтобы при минимизации приложения заданные действия выполнялись только один раз, так как при обычном сворачивании окна после TForm1.WMSize будет также выполнен TForm1.ApplicationMinimize. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 18:38 |
|
||
|
Как отследить минимизация форма по Win+D?
|
|||
|---|---|---|---|
|
#18+
BentenОтслеживание события WM_SIZE работает очень хорошо и не дает ложных срабатываний WM_WINDOWPOSCHANGED срабатывает слишком часто, его лучше не использовать А ничего, что первое порождается вторым?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 18:44 |
|
||
|
Как отследить минимизация форма по Win+D?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov BentenОтслеживание события WM_SIZE работает очень хорошо и не дает ложных срабатываний WM_WINDOWPOSCHANGED срабатывает слишком часто, его лучше не использовать В принципе, это уже не важно. Главное, что решение найдено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 18:50 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=23&tid=2037465]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 11ms |
| total: | 172ms |

| 0 / 0 |
