小编Jun*_*kah的帖子

Python win32api.mouse_event 类型错误

import sys
import win32api, win32con
import pyHook
import pythoncom

def CursorLeft():
    win32api.mouse_event(win32con.MOUSEEVENTF_MOVE, -1, 0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)

def Quit():
    print "Quitting"
    sys.exit()

# create a keyboard hook
def OnKeyboardEvent(event):
    print 'MessageName:', event.MessageName
    print 'Key:', event.Key
    if event.Key in ['Numpad2']:
        CursorLeft()
    elif event.Key in ['End']:
        Quit()
    return True

def OnMouseEvent(event):
    print 'Position:', event.Position
    return True

hm = pyHook.HookManager()
hm.MouseAll = OnMouseEvent
hm.HookMouse()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()
Run Code Online (Sandbox Code Playgroud)

函数 CursorLeft 每隔一段时间都可以正常工作。如果没有任何负数作为参数,它也能正常工作。我完全不知道为什么会这样!

第一次打电话,很好。

第二个电话,

类型错误:需要一个整数

第三次电话,好的。

第四次通话,

类型错误:需要一个整数。

等等等等。





解决了 …

python winapi pythoncom pyhook

5
推荐指数
1
解决办法
3212
查看次数

标签 统计

pyhook ×1

python ×1

pythoncom ×1

winapi ×1