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】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |