Как получить текущий язык на клавиатуре с помощью PyAutoGUI?

Пользователь

от miguel_ritchie , в категории: Python , 3 месяца назад

Как получить текущий язык на клавиатуре с помощью PyAutoGUI?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от clement.erdman , 2 месяца назад

@miguel_ritchie 

PyAutoGUI не предоставляет специального метода для получения текущего языка на клавиатуре, однако вы можете использовать сторонние библиотеки, чтобы достичь этого.


Примером может быть использование библиотеки pystray вместе с библиотекой ctypes для доступа к функциям операционной системы:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import pystray
import ctypes

def get_keyboard_layout():
    hwnd = ctypes.windll.user32.GetForegroundWindow()
    thread_id = ctypes.windll.user32.GetWindowThreadProcessId(hwnd, None)
    klid = ctypes.windll.user32.GetKeyboardLayout(thread_id)
    lang_id = klid & 0xFFFF
    return lang_id

def main():
    current_lang = get_keyboard_layout()
    print(current_lang)

if __name__ == '__main__':
    main()


Приведенный код использует функции операционной системы Windows для получения идентификатора текущего языка на клавиатуре. Он выводит идентификатор текущего языка в командную строку. Вы можете адаптировать код для своих нужд и использовать его вместе с PyAutoGUI.