Dock
Май 26, 2010 17:16:57
В интерпретаторе Python пишу следующий код:
import ctypes
print ctypes.windll.user32.GetKeyboardLayout(0)
После на какой бы язык не переключалась Python выдает код только для английской раскладки.
Не могу понять, что я делаю не так?
hellslade
Май 27, 2010 10:41:22
я тоже с этим заморачивался – также не работало, потом плюнул и написал dll. Вызываю функцию из нее и все гут
igor.kaist
Май 27, 2010 12:00:02
Через win32api.GetKeyboardLayout тот же эффект кстати…
Dock
Май 27, 2010 12:03:16
Можно подробнее, что за dll?
hellslade
Май 28, 2010 09:26:32
Dock, на delphi быстренько написал dll в пару строк, она реально определяет правильную раскладку (английский/русский). Исходники, к сожалению, пропали когда сдох хард. Если интересует сама dll, могу залить куда нить (или расскажите как тут файл прикрепить в 15K, ибо сам не нашел)
hellslade
Май 28, 2010 09:27:37
igor.kaist
Через win32api.GetKeyboardLayout тот же эффект кстати…
Да, мне помниится я разными способами пробовал, но так и не получилось..Можно мою темку нарыть, почитать
hellslade
Май 28, 2010 09:31:03
Dock попробуйте как тут писали, но я почему то все равно dll'ку свою использовал
http://python.su/forum/viewtopic.php?pid=12305#p12305
Dock
Май 29, 2010 19:05:59
Я dll'ку тоже в Delphy написала, теперь осталось ее подгрузить в python. Я смотрю это тоже не так просто сделать.
Я пробую ctypes.windll.LoadLibrary(“My.dll”) , но это не работает.
hellslade
Май 30, 2010 08:50:58
Dock
Я пробую ctypes.windll.LoadLibrary(“My.dll”) , но это не работает.
Что значит “не работает”? Как ругается?
У меня так
from ctypes import windll
dll = windll.LoadLibrary("KbdLayout.dll")
GetActiveKbdLayout = getattr(dll, "GetActiveKbdLayout")
Dock
Май 30, 2010 09:59:55
Выдает
<_FuncPtr object at 0x0…..>