|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.04.2010, 22:23 | #1 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Горячие клавиши. Не ясно как реализовать?
Вот нашёл в интернете такой класс, но что-то я вообще не въезжаю как им пользоваться, нет ну кое-что понимаю, но в целом картина не построилась:
Код:
Я даже хотел бы сам научиться API функции использовать, но не видел нормального учебника на русском расчитанного не на телепатов. |
05.04.2010, 00:25 | #3 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Oo Ничего себе, как это я не заметил... Видимо я или не тот класс смотрел и запомнил, что в Keys нету PrintScreen (где-то я видел, там вообще мало кнопок можно было выбрать).
|
05.04.2010, 00:36 | #5 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Щас буду колдовать над классом, так, чтобы можно было менять кнопки в зависимости от моих настроек и использовать из любого места программы, пока что я всего навсего поменял некоторые модификаторы доступа на public и теперь использовать можно так:
Код:
Код:
И это ещё пол беды, потом придётся научиться выполнять действия в отдельном потоке, так как в одной части программы используется таймер и перестаёт проверять, то что мне надо каждую секунду проверять. Последний раз редактировалось Casper-SC; 05.04.2010 в 00:40. |
05.04.2010, 01:26 | #7 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Короче таймер проверяет каждую секунду список "будильников" (скажем так). Когда жму горячую клавишу, делается скриншот. Допустим будильнику нужно сработать в 12:00, я 5 раз нажал горячую клавишу, пока 5 скриншотов делаются и сохраняются, уже 12:01 и будильник не срабатывает. Тут конечно можно добавить в проверку последнюю дату/время срабатывания, и если текущее системное время уже больше, того, что установлено в будильнике как время срабатывания и дата/время последнего срабатывания не равно установленному на срабатывание, то всё равно сработать. Но это стока всего писать придётся, у меня там 6 замудрённых режимов.
А при нормальном срабатывании, просто присваивать lastAlarm = timeAlarm; как-то так. Вообще это выход или всё таки лучше в отдельных потоках фоткать экран? Последний раз редактировалось Casper-SC; 05.04.2010 в 01:28. |
05.04.2010, 11:46 | #8 |
Форумчанин
Регистрация: 02.07.2009
Сообщений: 722
|
Мне кажется Вы очень сильно усложняете поставленную перед вами задачу...
Есть стандартный таймер у него есть инвент инвент тик... время тика настраиваеться... В него и вводим проверку ваших будильников их старт если что не так... или стоп стоп можно организовать по флугу если он равен 5 Флаг же выставляеться при нажатиии на кнопку, один раз флаг+1... ну как-то так... |
05.04.2010, 16:11 | #9 | |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Ну в общем я так и делаю.
Код:
Цитата:
Последний раз редактировалось Casper-SC; 05.04.2010 в 16:14. |
|
05.04.2010, 18:46 | #10 |
Форумчанин
Регистрация: 02.07.2009
Сообщений: 722
|
Ну смотри на "делание" скриншотов... можно выделить поток но смысла...они будут вставать в очередь и все... и те через час работы у тебя комп помрет...... возможно стоит оптимизировать сриншоты... создать аналог своей функции...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Горячие клавиши. | Lazio | Помощь студентам | 2 | 08.09.2010 02:20 |
Как заблокировать горячие клавиши Alt+F11 | kovalevskivf | Microsoft Office Excel | 2 | 20.05.2009 11:26 |
Как назначить "горячие" клавиши | ekzobyte | Общие вопросы Delphi | 16 | 18.03.2009 21:15 |
Горячие клавиши | Altera | Общие вопросы Delphi | 5 | 13.09.2008 21:27 |