Gunnm February 2016

Python win32com SendKeys fail

I've tried to do button press test and every time I do it, it fails somewhere. There is always place where there are two (or more) lower case letters next to one another or two upper case. Why is that?

import win32com.client

shell = win32com.client.Dispatch("WScript.Shell")
shell.Run("notepad")
shell.AppActivate("Notepad")


def a():
    shell.SendKeys("{a}", 0)


def A():
    shell.SendKeys("{A}", 0)


def b():
    shell.SendKeys("{b}", 0)


def B():
    shell.SendKeys("{B}", 0)


def c():
    shell.SendKeys("{c}", 0)


def C():
    shell.SendKeys("{C}", 0)


def d():
    shell.SendKeys("{d}", 0)


def D():
    shell.SendKeys("{D}", 0)


def e():
    shell.SendKeys("{e}", 0)


def E():
    shell.SendKeys("{E}", 0)


def f():
    shell.SendKeys("{f}", 0)


def F():
    shell.SendKeys("{F}", 0)


def g():
    shell.SendKeys("{g}", 0)


def G():
    shell.SendKeys("{G}", 0)


def h():
    shell.SendKeys("{h}", 0)


def H():
    shell.SendKeys("{H}", 0)


def i():
    shell.SendKeys("{i}", 0)


def I():
    shell.SendKeys("{I}", 0)


def j():
    shell.SendKeys("{j}", 0)


def J():
    shell.SendKeys("{J}", 0)


def k():
    shell.SendKeys("{k}", 0)


def K():
    shell.SendKeys("{K}", 0)


def l():
    shell.SendKeys("{l}", 0)


def L():
    shell.SendKeys("{L}", 0)


def m():
    shell.SendKeys("{m}", 0)


def M():
    shell.SendKeys("{M}", 0)


def n():
    shell.SendKeys("{n}", 0)


def N():
    shell.SendKeys("{N}", 0)


def o():
    shell.SendKeys("{o}", 0)


def O():
    shell.SendKeys("{O}", 0)


def p():
    shell.SendKeys("{p}", 0)


def P():
    shell.SendKeys("{P}", 0)


def q():
    shell.SendKeys("{q}", 0)


def Q():
    shell.SendKeys("{Q}", 0)


def r():
    shell.SendKeys("{r}", 0)


def R():
    shell.SendKeys("{R}", 0)


def s():
    shell.SendKeys("{s}", 0)


def S():
    shell.SendKeys("{S}", 0)


def t():
    shell.SendKeys("{t}", 0)


def T():
    shell.SendKeys("{T}", 0)


def u():
    shell.SendKeys("{u}", 0)


def U():
            

Answers


Gunnm February 2016

Adding time.sleep(0.03) and above after each press fixes issue. Still don't know why Notepad is not interpreting keys correctly.

Post Status

Asked in February 2016
Viewed 3,540 times
Voted 12
Answered 1 times

Search




Leave an answer