加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python模拟键盘输入和鼠标操作

发布时间:2020-12-17 17:13:55 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 一、Python键盘输入模拟: import win32api import win32con win32api.keybd_event(17,0) ?#ctrl键位码是17 win32api.keybd_event(86,0) ?#v键位码是8

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

一、Python键盘输入模拟:
import win32api
import win32con
win32api.keybd_event(17,0) ?#ctrl键位码是17
win32api.keybd_event(86,0) ?#v键位码是86
win32api.keybd_event(86,win32con.KEYEVENTF_KEYUP,0) #释放按键
win32api.keybd_event(17,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  

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读