|
|
|
Перехват принтскрин
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть глобальный хук, который перехватывает нажатие кнопки PrintScreen, вы все его наверно знаете... При нажатии кнопки, выходит сообщение, ну это чисто для проверки... Как можно сделать так, что бы срабатывало один раз, к примеру только если нажали, или если отжали? А то если зажать кнопку, то ShowMessage('GotIt'); дублируется много раз, пока не отпустишь кнопку. Код: 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. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 15:11 |
|
||
|
Перехват принтскрин
|
|||
|---|---|---|---|
|
#18+
Пробовал ставить флаг boolean, но не помогает, флаг начинает работать только после отжатия клавиши. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 16:21 |
|
||
|
Перехват принтскрин
|
|||
|---|---|---|---|
|
#18+
Tech N9ne, Можно отслеживать отпускание клавиши VK_SNAPSHOT через событие OnKeyUp. Только надо выставить у формы свойство KeyPreview := True. Но в приведенном коде событие отпускания клавиши получит окно ShowMessage. P.S. А почему Handle берется у конкретного экземпляра Form1, а не у Self? С уважением, Polesov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 18:16 |
|
||
|
Перехват принтскрин
|
|||
|---|---|---|---|
|
#18+
А если так? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 19:49 |
|
||
|
Перехват принтскрин
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_А если так? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Вроде работает, спасибо. Но я не понял почему?)) Почему if not работает, а if false нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 20:45 |
|
||
|
Перехват принтскрин
|
|||
|---|---|---|---|
|
#18+
Tech N9neНо я не понял почему?))Потому, что флаг устанавливается ДО ShowMessage ShowMessage активирует оконный цикл и новые сообщения начинают поступать до того, как закончена обработка предыдущих. Замените ShowMessage на Запись в лог + Sleep и ваш исходный код тоже будет работать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 21:08 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39723933&tid=2040216]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 313ms |

| 0 / 0 |
