Python模拟键盘输入和鼠标操作
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 文件复制到 window目录然后注册一下
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
Python模拟键盘输入和鼠标操作的更多相关文章
- 使用C#模拟键盘输入、鼠标移动和点击、设置光标位置及控制应用程序的显示
1.模拟键盘输入(SendKeys) 功能:将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样. 语法:SendKeys.Send(string keys);SendKeys.SendWa ...
- python 模拟键盘输入
备忘录 import win32api import win32con win32api.keybd_event(17,0,0,0) #ctrl键位码是17 win32api.keybd_event( ...
- SendInput模拟键盘输入的问题
SendInput模拟键盘输入的问题 http://www.cnblogs.com/yedaoq/archive/2010/12/30/1922305.html 最近接触到这个函数,因此了解了一下, ...
- VB模拟键盘输入的N种方法
VB模拟键盘输入的N种方法http://bbs.csdn.net/topics/90509805hd378发表于: 2006-12-24 14:35:39用VB模拟键盘事件的N种方法 键盘是我们使用计 ...
- 用Delphi模拟键盘输入
在Windows大行其道的今天,windows界面程序受到广大用户的欢迎.对这些程序的操作不外乎两种,键盘输入控制和鼠标输入控制.有时,对于繁杂的,或重复性的操作,我们能否通过编制程序来代替手工输入, ...
- 【转】C# winform 加载网页 模拟键盘输入自动接入访问网络
[转]C# winform 加载网页 模拟键盘输入自动接入访问网络 声明: 本文原创,首发于博客园 http://www.cnblogs.com/EasyInvoice/p/6070563.html ...
- VC 模拟键盘输入
转载请注明来源:https://www.cnblogs.com/hookjc/ vc模拟键盘输入keybd_event(VK_LWIN, 0, 0 ,0);keybd_event('M', 0, 0 ...
- 模拟键盘输入首先要用到一个API函数:keybd_event
转自:http://www.cnblogs.com/cpcpc/archive/2011/02/22/2123055.html 模拟键盘输入首先要用到一个API函数:keybd_event. 模拟按键 ...
- 微信小程序车牌号码模拟键盘输入
微信小程序车牌号码模拟键盘输入练习, 未经允许,禁止转载,抄袭,如需借鉴参考等,请附上该文章连接. 相关资料参考:https://blog.csdn.net/littlerboss/article/d ...
随机推荐
- Rabin-Miller算法
首先附上matrix67大神的讲解: --------------------------------------------------------------------------------- ...
- Google Chrome中的高性能网络(二)
Chrome Predictor的预测功能优化 Chrome会随着使用变得更快. 它这个特性是通过一个单例对象Predictor来实现的.这个对象在浏览器内核进程(Browser Kernel Pro ...
- Memcached 两款.NET客户端的郁闷事儿
不久以后就要负责一个比较大的项目,有多大?反正就是挺大的.现在处于筹备阶段,我主要负责系统框架搭建,在系统缓存这一块决定采用Http运行时缓存+memcached. memcached 以前用过几次 ...
- 安卓使用WIFI调试程序
不知怎么回事,USB老是掉,真心烦.于是想着用WIFI可不可以调试呢,去百度一搜,果然可以.下面我说一下我的方案. 1.使用APWIFI创建WIFI热点,用安卓手机连接该热点,试试手机可以上网不. 2 ...
- HDU 3342
#include<stdio.h> #include<string.h> int degree[101],vis[101],map[101][101]; int main() ...
- LittleTools之输出RenderTexture工具
using UnityEngine; using System.Collections; using System.IO; /// <summary> /// Save render te ...
- mac os develop
. 安装PCRE Download latest PCRE. After download go to download directory from terminal. $ cd ~/Downloa ...
- 改进的SMO算法
S. S. Keerthi等人在Improvements to Platt's SMO Algorithm for SVM Classifier Design一文中提出了对SMO算法的改进,纵观SMO ...
- HW2.22
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- HDOJ-ACM2035(JAVA) 人见人爱A^B
这道题的巧妙方法没有想出来,但是算是优化的暴力破解吧.Accepted import java.io.BufferedInputStream; import java.util.Scanner; pu ...