Python模擬鍵盤輸入和鼠標操作

cdfd 9年前發布 | 3K 次閱讀 Python

一、Python鍵盤輸入模擬:
import win32api
import win32con
win32api.keybd_event(17,0,0,0)  #ctrl鍵位碼是17
win32api.keybd_event(86,0,0,0)  #v鍵位碼是86
win32api.keybd_event(86,0,win32con.KEYEVENTF_KEYUP,0) #釋放按鍵
win32api.keybd_event(17,0,win32con.KEYEVENTF_KEYUP,0)
附個鍵位碼表:

字母和數字鍵     數字小鍵盤的鍵       功能鍵         其它鍵 

鍵   鍵碼            鍵   鍵碼                  鍵   鍵碼      鍵                 鍵碼 

A    65               0   96                      F1   112      Backspace    8 

B    66               1   97                       F2   113     Tab               9 

C    67               2   98                       F3   114     Clear             12 

D    68               3   99                       F4   115     Enter             13 

E     69               4   100                     F5   116     Shift              16 

F     70               5   101                     F6   117     Control         17 

G    71               6   102                     F7   118      Alt                18 

H    72               7   103                     F8   119     Caps Lock     20 

I      73               8   104                     F9   120     Esc                27 

J     74                9   105                    F10  121     Spacebar      32 

K    75                *   106                     F11  122     Page Up       33 

L     76               +   107                     F12  123     Page Down  34 

M   77            Enter 108                     --   --         End               35 

N    78                -   109                      --   --         Home           36 

O    79                 .   110                      --   --        Left Arrow     37 

P    80                 /   111                      --   --        Up Arrow      38 

Q    81                  --   --                      --   --        Right Arrow  39 

R    82                   --   --                      --   --        Down Arrow 40 

S    83                   --   --                      --   --         Insert           45 

T    84                   --   --                      --   --         Delete          46 

U   85                    --   --                     --   --         Help             47 

V   86                    --   --                     --   --         Num Lock    144 
其他未列出的字母和數字鍵盤為:ord(c)
 
二、 使用windll.user32實現鼠標模擬:

    from ctypes import *  
    windll.user32.SetCursorPos(100, 100)  

三. 使用AutoItX實現鼠標模擬:
#將 AutoItX3.dll 文件復制到 Windows 目錄然后注冊一下regsvr32.exe AutoItX3.dll

    from win32com.client import Dispatch
def enter_game():
AutoItX = Dispatch( "AutoItX3.Control" )

    # Block All Input  
    AutoItX.BlockInput( 1 )  
    AutoItX.Sleep( 20000 )  
    if AutoItX.WinActivate( GAME_WINDOW_TITLE, '' ):  
        pass  
    else:  
        if AutoItX.WinWaitActive( GAME_WINDOW_TITLE, '', 8 ):  
            pass  
        else:  
            # Unblock input  
            AutoItX.BlockInput( 0 )  
            return False  
    AutoItX.WinSetTitle( GAME_WINDOW_TITLE, '', _pre_title )  
    AutoItX.WinSetState( _pre_title, '', AutoItX.SW_MAXIMIZE )  
    AutoItX.Sleep( 5000 )  
    AutoItX.MouseMove( 462, 396, 10 )  
    AutoItX.MouseClick( "left" )  
    AutoItX.Sleep( 1000 )  
    AutoItX.Send( GAME_ACCT_NAME )  
    AutoItX.Sleep( 1000 )  
    AutoItX.MouseMove ( 462, 472, 10 )  
    AutoItX.MouseClick( "left" )  
    AutoItX.Sleep( 1000 )  
    AutoItX.Send( GAME_ACCT_PASS )  
    AutoItX.Send( "{ENTER}" )  
    AutoItX.Sleep( 10000 )  
    # Unblock input  
    AutoItX.BlockInput( 0 )  
    return True  </pre> 


 本文由用戶 cdfd 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!