python win32api教程_解放双手——python win32api 入门
# _*_ coding:UTF-8 _*_
'''
本文在原程序的基础上做了修改补充,更加清晰易懂。
get_mouse_point():返回当前鼠标的值(x,y)
mouse_move(x,y):移动鼠标
mouse_click(x,y):单击
mouse_dclick(x,y):双击
put(str='',flag=0):flag默认为0,则表示输入的字符串,为1:字符要表示的是快捷组合按键,快捷键要用空格分开
'''
import win32api
import win32con
import win32gui
from ctypes import *
import time
VK_CODE = {
'backspace':0x08,
'tab':0x09,
'clear':0x0C,
'enter':0x0D,
'shift':0x10,
'ctrl':0x11,
'alt':0x12,
'pause':0x13,
'caps_lock':0x14,
'esc':0x1B,
'spacebar':0x20,
'page_up':0x21,
'page_down':0x22,
'end':0x23,
'home':0x24,
'left_arrow':0x25,
'up_arrow':0x26,
'right_arrow':0x27,
'down_arrow':0x28,
'select':0x29,
'print':0x2A,
'execute':0x2B,
'print_screen':0x2C,
'ins':0x2D,
'del':0x2E,
'help':0x2F,
'0':0x30,
'1':0x31,
'2':0x32,
'3':0x33,
'4':0x34,
'5':0x35,
'6':0x36,
'7':0x37,
'8':0x38,
'9':0x39,
'a':0x41,
'b':0x42,
'c':0x43,
'd':0x44,
'e':0x45,
'f':0x46,
'g':0x47,
'h':0x48,
'i':0x49,
'j':0x4A,
'k':0x4B,
'l':0x4C,
'm':0x4D,
'n':0x4E,
'o':0x4F,
'p':0x50,
'q':0x51,
'r':0x52,
's':0x53,
't':0x54,
'u':0x55,
'v':0x56,
'w':0x57,
'x':0x58,
'y':0x59,
'z':0x5A,
'numpad_0':0x60,
'numpad_1':0x61,
'numpad_2':0x62,
'numpad_3':0x63,
'numpad_4':0x64,
'numpad_5':0x65,
'numpad_6':0x66,
'numpad_7':0x67,
'numpad_8':0x68,
'numpad_9':0x69,
'multiply_key':0x6A,
'add_key':0x6B,
'separator_key':0x6C,
'subtract_key':0x6D,
'decimal_key':0x6E,
'pide_key':0x6F,
'F1':0x70,
'F2':0x71,
'F3':0x72,
'F4':0x73,
'F5':0x74,
'F6':0x75,
'F7':0x76,
'F8':0x77,
'F9':0x78,
'F10':0x79,
'F11':0x7A,
'F12':0x7B,
'F13':0x7C,
'F14':0x7D,
'F15':0x7E,
'F16':0x7F,
'F17':0x80,
'F18':0x81,
'F19':0x82,
'F20':0x83,
'F21':0x84,
'F22':0x85,
'F23':0x86,
'F24':0x87,
'num_lock':0x90,
'scroll_lock':0x91,
'left_shift':0xA0,
'right_shift ':0xA1,
'left_control':0xA2,
'right_control':0xA3,
'left_menu':0xA4,
'right_menu':0xA5,
'browser_back':0xA6,
'browser_forward':0xA7,
'browser_refresh':0xA8,
'browser_stop':0xA9,
'browser_search':0xAA,
'browser_favorites':0xAB,
'browser_start_and_home':0xAC,
'volume_mute':0xAD,
'volume_Down':0xAE,
'volume_up':0xAF,
'next_track':0xB0,
'previous_track':0xB1,
'stop_media':0xB2,
'play/pause_media':0xB3,
'start_mail':0xB4,
'select_media':0xB5,
'start_application_1':0xB6,
'start_application_2':0xB7,
'attn_key':0xF6,
'crsel_key':0xF7,
'exsel_key':0xF8,
'play_key':0xFA,
'zoom_key':0xFB,
'clear_key':0xFE,
'+':0xBB,
',':0xBC,
'-':0xBD,
'.':0xBE,
'/':0xBF,
'`':0xC0,
';':0xBA,
'[':0xDB,
'//':0xDC,
']':0xDD,
"'":0xDE,
'`':0xC0}
class POINT(Structure):#鼠标位置二维数组对象
_fields_ = [("x", c_ulong),("y", c_ulong)]
def get_mouse_point():#获取鼠标位置
po = POINT()
windll.user32.GetCursorPos(byref(po))
return int(po.x), int(po.y)
def mouse_click(x=None,y=None):#单击(左键)
if not x is None and not y is None:
mouse_move(x,y)
time.sleep(0.05)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)#按下
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)#弹起
def mouse_dclick(x=None,y=None):#双击
if not x is None and not y is None:
mouse_move(x,y)
time.sleep(0.05)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
def mouse_move(x,y):#移动鼠标
windll.user32.SetCursorPos(x, y)
def put(str='',flag=0):#flag默认为0,则表示输入的字符串,为1:字符要表示的是快捷组合按键
if flag==0:
for c in str:
if c == ' ':#处理空格
win32api.keybd_event(VK_CODE['spacebar'],0,0,0)
win32api.keybd_event(VK_CODE['spacebar'],0,win32con.KEYEVENTF_KEYUP,0)
else:
win32api.keybd_event(VK_CODE[c],0,0,0)
win32api.keybd_event(VK_CODE[c],0,win32con.KEYEVENTF_KEYUP,0)
else:
cmd = str.split(' ')
for i in cmd:
win32api.keybd_event(VK_CODE[i],0,0,0)
cmd.reverse()
for i in cmd:#快捷键释放的时候要逆序释放
win32api.keybd_event(VK_CODE[i],0,win32con.KEYEVENTF_KEYUP,0)
time.sleep(1)
if __name__ == "__main__":
mouse_dclick(1083,139)
put('hello world',0)
put('ctrl v',1) #快捷键要用空格分开
python win32api教程_解放双手——python win32api 入门相关推荐
- python经典教程_零基础 Python爬虫经典实战教程
最近Python爬虫比较火,看到网上分享源码的比较多,很少有教程帖子,为了帮助新人和对爬虫比较感兴趣的朋友,所以想到写一些比较详细教程帖子!大家共同学习! 下载工具,安装对应系统的版本,下面以wind ...
- python压缩教程_如何使用Python压缩/解压缩zip文件?(代码示例)
在批量交换大文件和多个文件时,使用zip文件是非常方便的.下面本篇文章就来带大家认识解一下zip文件,介绍使用Python压缩或解压缩zip文件的方法,希望对大家有所帮助.[视频教程推荐:Python ...
- python networkx教程_如何在python中使用networkx绘制有向图?
我只是为了完整而把它放进去 . 我从marius和mdml中学到了很多东西 . 这是边缘权重 . 抱歉箭头 . 看起来我不是唯一一个说它无法帮助的人 . 我无法使用ipython笔记本呈现这一点我不得 ...
- python插图教程_可爱的Python (哲思社区)插图版_Python教程
资源名称:可爱的Python (哲思社区)插图版 本书的内容主要来自CPyUG社区的邮件列表,由Python的行者根据自身经验组织而成,是为从来没有听说过Python的其他语言程序员准备的一份实用的导 ...
- selenium python高级教程_自动化测试系列 python+selenium的使用教程(一)
Selenium也是一个用于Web应用程序的自动化测试工具,功能强大,可直接运行在浏览器中,支持大部分主流浏览器,支持自动录制动作和自动生成,最重要的是支持多种主流语言包括java,python等. ...
- python 爬虫 教程_一个入门级python爬虫教程详解
前言 本文目的:根据本人的习惯与理解,用最简洁的表述,介绍爬虫的定义.组成部分.爬取流程,并讲解示例代码. 基础 爬虫的定义:定向抓取互联网内容(大部分为网页).并进行自动化数据处理的程序.主要用于对 ...
- 莫烦python系列教程_莫烦python教程学习笔记——总结篇
一.机器学习算法分类: 监督学习:提供数据和数据分类标签.--分类.回归 非监督学习:只提供数据,不提供标签. 半监督学习 强化学习:尝试各种手段,自己去适应环境和规则.总结经验利用反馈,不断提高算法 ...
- python是什么编程教程-编程python是什么_谁的Python教程最好?
谁的Python教程最好? 建议你可以看看这里的<Python基础教程>和<Python学习手册>应该适合你的. 希望对你有用. 记得采纳呀~ Python中的9个代码小实例! ...
- Python和Java结合的项目实战_[项目实战] Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 [...
资源介绍 课程简介:xa0xa0 Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 教学视频 ----------------------课程目录 Python项目实战篇 ...
- python爬取微信群聊天信息_跳一跳python使用教程 微信跳一跳python怎么刷分
跳一跳python使用教程 微信跳一跳python怎么刷分?下面一起来看看吧. 微信跳一跳python怎么刷分?跳一跳python使用教程: 工具介绍 Python 2.7 Android 手机 Ad ...
最新文章
- Ubuntu创建opencv工程并显示一张图片
- SAP MM 物料主数据的Document Data
- Java避免创建不必要的对象
- 响应用户呼声 币安更正BCH简称
- 蓝牙协议 HFP,HSP,A2DP,A2DP_CT,A2DP_TG,AVRCP,OPP,PBAP,SPP,FTP,TP,DTMF,DUN,SDP
- angularJS 表单验证
- python求一组数的最大值_python快速求一个数组的最大值/最小值及其索引
- LeetCode 369. 给单链表加一(递归)
- hadoop之DataBlockScanner
- spark学习-76-目标:如何成为大数据Spark高手
- python iterableiterator
- Oracle 集群sysbackup用户登陆随机报错ORA-01017
- axure sketch 对比_Sketch 画原型比 Axure 好用吗?为什么
- 谷歌邮箱lmap服务器填什么_Gmail/QQ邮箱/163邮箱等各大邮箱IMAP/SMTP/POP3地址
- 100句永久珍藏的人生格言
- neural networks logistic regression 神经网络逻辑回归
- windows功能_四款功能强大的windows软件,个个都是精品!
- 新《古惑仔》 —— 神转折大赛
- 计算机网络的基础知识
- 手机html特效菊花的彩铅画,彩铅教程 | 菊花的画法步骤