Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 17.07.2021
Сообщений: 15

Нажатие клавиш

05.01.2022, 09:15. Показов 1362. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день мне нужно что нажатие клавиши было максимально схожее с обычной клавиатурой или как почитал в интернете что бы кнопка нажималась до обработки виндовс,pyauto gui и Kaybroad и spyoungtech/ahk модули не работают,хотя обычный скрипт ahk в игре работает,хотелось бы узнать как можно это реализовать,в интернете нашел что возможно поможет
напрямую использовать функции WinAPI из библиотек Windows,но не нашел как это реализовать не документации ничего,можете подскажать как можно реализавать?
Игра самп Радмир
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.01.2022, 09:15
Ответы с готовыми решениями:

Нажатие клавиш
Добиваюсь поднятия на 10 строк вверх в гугл доке, но все работает кроме up. Помогите пожалуйста import time import pyperclip ...

Долгое нажатие клавиш
Значит задался я вопросом реализации бота (бот должен управлять поездом) для одной игры. Сделал распознавание текста с экрана, сделал всю...

Проверка на нажатие клавиш
Приветствую! Меня интересует вопрос, вот у меня есть программка: import win32api y = win32api.GetCursorPos() while True: if y...

2
710 / 356 / 104
Регистрация: 09.02.2018
Сообщений: 805
05.01.2022, 10:33
Цитата Сообщение от Butovskiy Посмотреть сообщение
напрямую использовать функции WinAPI из библиотек Windows,но не нашел как это реализовать не документации ничего,можете подскажать как можно реализавать?
Не знаю, как ты искал, в интернете море инфы по этому вопросу.
Вот код по первой попавшейся ссылке (запрос "WinAPI нажатие клавиши Python"):

Python
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
import ctypes
 
DWORD = ctypes.c_ulong
ULONG_PTR = ctypes.POINTER(DWORD)
WORD = ctypes.c_ushort
 
INPUT_KEYBOARD = 1
KEYEVENTF_KEYUP = 0x0002
KEYEVENTF_UNICODE = 0x0004
 
class KEYBDINPUT(ctypes.Structure):
    _fields_ = (
        ('wVk', WORD),
        ('wScan', WORD),
        ('dwFlags', DWORD),
        ('time', DWORD),
        ('dwExtraInfo', ULONG_PTR))
 
class _INPUTunion(ctypes.Union):
    _fields_ = (('ki', KEYBDINPUT),)
 
class INPUT(ctypes.Structure):
    _fields_ = (
        ('type', DWORD),
        ('union', _INPUTunion))
 
def send_input(*inputs):
    nInputs = len(inputs)
    LPINPUT = INPUT * nInputs
    pInputs = LPINPUT(*inputs)
    cbSize = ctypes.c_int(ctypes.sizeof(INPUT))
    return ctypes.windll.user32.SendInput(nInputs, pInputs, cbSize)
 
def input_structure(structure):
    return INPUT(INPUT_KEYBOARD, _INPUTunion(ki=structure))
 
def keyboard_input(code, flags):
    return KEYBDINPUT(0, code, flags, 0, None)
 
def keyboard_event(code, flags=KEYEVENTF_UNICODE):
    return input_structure(keyboard_input(code, flags))
 
def press(character):
    code = ord(character)
    send_input(keyboard_event(code))
    send_input(keyboard_event(code, KEYEVENTF_KEYUP))
 
def main():
    press('a')
 
if __name__ == '__main__':
    main()
Добавлено через 1 минуту
Если даже код не работает (проверить не могу - у меня Linux, не Windows), то направление понятно - нужно копать в сторону модуля ctypes.
1
710 / 356 / 104
Регистрация: 09.02.2018
Сообщений: 805
05.01.2022, 16:54
Получилось? Отпишись, а то мне самому интересно стало, можно ли автоматизировать такие вещи или брехня полная.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.01.2022, 16:54
Помогаю со студенческими работами здесь

Проверка на нажатие клавиш мыши
Мне нужно что-бы при нажатии правой и левой кнопки мыши запускался скрипт Я нашёл примерный код но не знаю как добавить туда правую...

Как отловить нажатие клавиш-стрелок без сторонних библиотек?
Всем привет! Подскажите, пожалуйста, как ловить нажатие клавиш-стрелок? Без использования сторонних библиотек (типа pygame)

Танчики Dandy на Python. Почему не правильно обрабатывается нажатие клавиш вверх-вниз-вправо-влево?
Всё строго по инструкции, смысл происходящего таков. У класса Tank есть свойство speed в котором задана скорость в виде вектора. Код на...

Нажатие клавиш вне формы (глобальный перехват сочетания клавиш)
Всем доброго времени суток! Задумал сделать значок раскладки клавы, но беда в том, что если потерян фокус приложения, то значок не...

Нажатие клавиш
Всем привет!) Подскажите как запретить нажатие клавиш Ctrl, Alt и Win?? Заранее спасибо!)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru