|
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
|
|
Автонажатие клавиш на Python20.06.2017, 14:11. Показов 14723. Ответов 12
Метки нет (Все метки)
Здравствуйте.
Интересует такая задача на Python: Открывается скрипт. Отслеживает нажатие клавиш во всех окнах. При нажатии F8, автоматически, на самой высокой скорости, нажимается или одна клавиша, или последовательно две клавиши. При нажатии F8 цикл прерывается. Как это можно сделать на Python? Заранее благодарен!
0
|
|
| 20.06.2017, 14:11 | |
|
Ответы с готовыми решениями:
12
Чтение клавиш в Python 3 Автонажатие клавиш Обработка клавиш в python |
|
|
|||||||
| 20.06.2017, 14:58 | |||||||
|
Нужно писать модуль/длл на С/С++ Под виндой можно попробовать использовать RegisterHotKey() это конечно можно сделать на ctypes и win32con, но быстрее/проще наверное будет на С/С++ Вот пример
https://stackoverflow.com/ques... -arguments
1
|
|||||||
|
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
|
||||||
| 20.06.2017, 19:41 | ||||||
|
А есть уже - keyboard. Будет как-то так
1
|
||||||
| 20.06.2017, 23:54 | |||||||
|
Не по теме:
0
|
|||||||
|
|
||
| 21.06.2017, 00:43 | ||
|
Что касается синтаксиса AHK: да, он basic-подобный и в определенном смысле устарел. Но проще него (как ЯП) для работы с хоткеями на windows пока ничего не придумали (AutoIT более сложен в этом плане). Я на нем не пишу, но использую как очень простой инструмент для автоматизации: в автозагрузке у меня висит один скрипт, а в него постоянно дописывается какой-нибудь блок, который будет выполняться либо по хоткею, либо по условию появления нужного окна - переключение раскладки в cmd, Ctrl+V в cmd (которого нет по дефолту), выключение экрана монитора, очистка нужных папок от мусора и т.д. И для всего этого мне даже не нужно разбираться в особенностях синтаксиса AHK. Так что если инструмент годен для решения определенного класса задач - на синтаксис нас..ть.
0
|
||
|
|
||||
| 21.06.2017, 12:53 | ||||
|
Но как это касается Python? Который тоже кстати собирается в exe. Нормальный синтаксис, MSDN и макс. возможностей.
0
|
||||
|
|
||||||||||
| 21.06.2017, 13:39 | ||||||||||
|
Python хорош для множества задач, но когда для конкретного контекста есть инструмент проще и удобнее - я воспользуюсь им без всяких религиозных терзаний :-) Размер "упаковки" меньше одного mb.
P.S. AHK это очень высокоуровневая обертка над API системы (windows).
0
|
||||||||||
|
|
|||||
| 21.06.2017, 15:04 | |||||
|
Тогда становятся ясно пристрастие к бейсикам и редким .... Кроме того, код изначально плох ибо используется буфер обмена это потенциальное место ошибок. Да и кто с консольными приложениями работает "эмуляцией" ? Как правило работают через pipe.
Добавлено через 1 минуту Добавлено через 10 минут
0
|
|||||
|
|
||||||||||||
| 21.06.2017, 19:08 | ||||||||||||
|
Кликните здесь для просмотра всего текста
Не по теме:
Ну дак это нормально, что хочется писать попроще. Не алголом единым.... Все кто пишет на python (и прочих интепретируемых ЯП-х), а на не asm'е, пришли сюда именно за этим. И не стоит лукавить. А краткость - сами знает чья сестра. Что касается Но речь не о этом, а о том в AHK все это (работа с хоткеями) раз 10 проще и раз в 10 функциональнее (создание неблокирующих хоткеев\заморозка хоткеев\строки автозамены - и все одной строкой). Швейцарский нож. Вот вам задачку попроще:
0
|
||||||||||||
|
|
||||||||
| 21.06.2017, 20:18 | ||||||||
|
И для меня совсем не проблема написать указанный код и оформить все в ф-цию если стоит такая задача. А теперь подумайте что будет если через буфер ... и в момент копирования пользователь сделает Сtrl+C ? Почитайте про пайпы, вопросы отпадут. Хотите не блокируемость породите поток или используйте эвент луп гуи потока. На С++ я тоже могу все запихнуть в одну строчку если вы любитель "извращений" только будет очень длинная она ))
Добавлено через 5 минут Сейчас есть. И собирается одной командой в консоли (по крайней мере с простыми проектами) Добавлено через 4 минуты
0
|
||||||||
|
|
||||||
| 22.06.2017, 17:46 | ||||||
|
Кликните здесь для просмотра всего текста
Не по теме:
Блин, вот не знал, тут оказывается впередсмотрящим на стомильвидящим все уже ясно с будущим - ладно,все, бросаю. Если вы про AHK, то его сборка в exe будет всегда работать на любой windows машине не ниже поддерживаемой версии (на win 98 уже вроде не будет работать). Почему будет? Просто потому, что так сделано автором языка. P.S. Ну вот зря совершенно зацепились за невинное предложение ТС'у взглянуть с сторону просто другого инструмента и превратили тему в холивар "чья мошна круче". Не об этом был мой изначальный пост.
0
|
||||||
|
|
||||||
| 22.06.2017, 19:56 | ||||||
Мм вообще вставка работает только не по Ctrl+V а через меню. Добавлено через 3 минуты А кому нужно изучать подобный язык который навряд ли пригодится потом. Да и что если в программе кроме этой задачи есть еще ф-ционал .... как его лепить этой лабуде? Добавлено через 1 минуту Добавлено через 1 минуту Добавлено через 3 минуты Вы не слыхали про ф-ции, классы, модули? Не? Я могу С/С++ код оформить в виде библиотеки, для меня это не проблема, и "пользовательский" код у меня тоже будет одну строчку. Причем оптимизированный под мой ряд задач. Это вопрос умения писать код.
0
|
||||||
| 22.06.2017, 19:56 | |
|
Помогаю со студенческими работами здесь
13
Блокировка клавиш через python Считывание нажатия клавиш в Python
Автонажатие клавиш Автонажатие клавиш при обнаружении цвета или бот для игры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|