python win32api教程_解放双手——python win32api 入门「建议收藏」

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:字符要表示的是快捷组合按键,快捷键要用空…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

# _*_ 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) #快捷键要用空格分开

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183123.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux主机之间 使用 SSH 免密登录「建议收藏」

        首先看SSH免密登录简易原理图:主机A想要SSH免密登录主机B,首先需要将主机A的SSH公钥复制到主机B的授权列表文件,A登录B时,B会查看自己的授权列表文件,若存在A的公钥,经过一系列验证后,即可登录                  首先准备两台主机SSH-A和SSH-B(注意:两台主机必须能ping通)    我…

    2022年4月14日
    162
  • 【JMeter】参数Parameters和Body Data

    【JMeter】参数Parameters和Body Data在做接口并发测试的时候,才发现Jmeter中的Parameters和BodyData两种参数格式并不是简单的一个是xx=xx,另外一个是json格式的参数先看一个接口[post]/api/xx/xxxx/xxxx通知服务端文件上传完毕输入参数:httpcontenttype:application/json名称|类型|是否必须|参数限制|描述———|–

    2022年6月23日
    20
  • ShellExecute, WinExec, CreateProcess区别

    ShellExecute, WinExec, CreateProcess区别ShellExecute  ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。  有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。  ShellExecute函数原型及参数含义如下:  ShellExecute(  HWNDhwnd,…

    2022年7月27日
    4
  • 阿里巴巴中间件团队_阿里的中间件和库

    阿里巴巴中间件团队_阿里的中间件和库实践出真知,阿里中间件博客入口

    2022年8月13日
    2
  • redis集群搭建(非常详细,适合新手)_redis哨兵模式两主多从

    redis集群搭建(非常详细,适合新手)_redis哨兵模式两主多从前言由于项目需要,搭建了一个Redis服务器集群,实现了主从配置和容灾部署,使得主机出现故障时,可自动进行容灾切换,下面就详细讲解一下如何利用Redis来实现。文章重点1、Redis入门简介2、Redis安装部署3、Redis集群整体架构4、Redis主从配置及数据同步5、Redis哨兵模式搭建一、Redis入门简介Redis(RemoteDictiona…

    2022年9月1日
    4
  • 我的Android重构之旅:插件化篇

    我的Android重构之旅:插件化篇

    2021年6月8日
    116

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号