Форум сайта python.su
Есть переменная ,возвращает дату,время, есть словарь ,в котором указаны клавиши и коды к ним,
keys = [0,1,2, 3,4, 5,6, 7,8, 9,]
values = [48,49,50,51,52,53,54,55,56,57]
dictionary = dict(map(None, keys, values))
win32api.keybd_event(ert,0,0,0)
Офлайн
Про словарь ничего не понял.
Вы хотите отправить нажатие клавиши?
Там, по-моему, нужно KEYUP еще посылать. Вот, давно писал:
class WinKeyboard(object): """ Windows keybord events""" def is_key_pressed(self, key): return (win32api.GetKeyState(key) & 0x8000) def is_combo_pressed(self, combo_keys): """Checks if combination of combo_keys is pressed simultaneously""" for code in combo_keys: if not self.is_key_pressed(code): return False return True def press(self, key): """ Generates key press """ win32api.keybd_event(key, 0, 0, 0) time.sleep(0.1) win32api.keybd_event(key, 0, win32con.KEYEVENTF_KEYUP, 0)
Отредактировано reclosedev (Июль 2, 2012 21:49:30)
Офлайн
reclosedev
Про словарь ничего не понял.
Вы хотите отправить нажатие клавиши?
Там, по-моему, нужно KEYUP еще посылать. Вот давно еще писал:class WinKeyboard(object): """ Windows keybord events""" def is_key_pressed(self, key): return (win32api.GetKeyState(key) & 0x8000) def is_combo_pressed(self, combo_keys): """Checks if combination of combo_keys is pressed simultaneously""" for code in combo_keys: if not self.is_key_pressed(code): return False return True def press(self, key): """ Generates key press """ win32api.keybd_event(key, 0, 0, 0) time.sleep(0.1) win32api.keybd_event(key, 0, win32con.KEYEVENTF_KEYUP, 0)
now_time = datetime.datetime.now() # Текущая дата со временем
vk=now_time.strftime("%d.%m.%Y %I:%M")r
dictionary={0: 48, 1: 49, 2: 50, 3: 51, 4: 52, 5: 53, 6: 54, 7: 55, 8: 56, 9: 57}
rty=subprocess.Popen (r"notepad.exe")
for i in vk:
for key, value in dictionary.items():
if int(i)==key:
ert=dictionary.get(key)
win32api.keybd_event(ert,0,0,0)
win32api.keybd_event(ert,0,win32con.KEYEVENTF_KEYUP,0)
time.sleep(0.1)
Отредактировано sanodin (Июль 2, 2012 22:48:40)
Офлайн
Ой, словарем вы пользуетесь ужасно. Посмотрите в сети(лучше всего в оф. документации) примеры его использования.
Конкретно в данной задаче можно обойтись без него:
...
for char in vk:
win32api.keybd_event(ord(char), 0, 0, 0)
win32api.keybd_event(ord(char), 0, win32con.KEYEVENTF_KEYUP, 0)
...
Офлайн
GaiveR
Ой, словарем вы пользуетесь ужасно. Посмотрите в сети(лучше всего в оф. документации) примеры его использования.
Конкретно в данной задаче можно обойтись без него:...
for char in vk:
win32api.keybd_event(ord(char), 0, 0, 0)
win32api.keybd_event(ord(char), 0, win32con.KEYEVENTF_KEYUP, 0)
...
З.Ы. пишу с телефона, поэтому могут быть очепятки
Офлайн
for i in vk: for key, value in dictionary.items(): if int(i)==key: ert=dictionary.get(key)
>>> for i in vk: ... if int(i) in dictionary: ... do_something() ... >>> for i in vk: ... try: ... ert = dictionary[int(i)] ... do_something() ... except: ... pass ... >>> for key in filter(lambda x: x in dictionary, vk): ... do_something()
Отредактировано fata1ex (Июль 2, 2012 23:54:55)
Офлайн
Да,спасибо….и такой вариант подходит,завтра доработаю…
Офлайн