记事本的主窗口中还有一个窗口,您需要向它发送消息。您可以使用Microsoft Spy++工具查看此“隐藏”窗口,也可以获取所有子窗口,如下所示:def callback(hwnd, hwnds):

if win32gui.IsWindowVisible(hwnd) and win32gui.IsWindowEnabled(hwnd):

hwnds[win32gui.GetClassName(hwnd)] = hwnd

return True

hwnds = {}

win32gui.EnumChildWindows(whndl, callback, hwnds)

我们正在查找的窗口具有“Edit”类名,它是记事本唯一启用且可见的子窗口。所以你的代码是这样工作的:import win32api, win32con, win32gui, win32ui, win32service, os, time

def f_click(pycwnd):

x=300

y=300

lParam = y <<15 | x

pycwnd.SendMessage(win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, lParam);

pycwnd.SendMessage(win32con.WM_LBUTTONUP, 0, lParam);

def get_whndl():

whndl = win32gui.FindWindowEx(0, 0, None, 'NB.txt - Notepad')

return whndl

def make_pycwnd(hwnd):

PyCWnd = win32ui.CreateWindowFromHandle(hwnd)

return PyCWnd

def send_input_hax(pycwnd, msg):

f_click(pycwnd)

for c in msg:

if c == "\n":

pycwnd.SendMessage(win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)

pycwnd.SendMessage(win32con.WM_KEYUP, win32con.VK_RETURN, 0)

else:

pycwnd.SendMessage(win32con.WM_CHAR, ord(c), 0)

pycwnd.UpdateWindow()

whndl = get_whndl()

def callback(hwnd, hwnds):

if win32gui.IsWindowVisible(hwnd) and win32gui.IsWindowEnabled(hwnd):

hwnds[win32gui.GetClassName(hwnd)] = hwnd

return True

hwnds = {}

win32gui.EnumChildWindows(whndl, callback, hwnds)

whndl = hwnds['Edit']

pycwnd = make_pycwnd(whndl)

msg = "It works !\n"

send_input_hax(pycwnd,msg)

lParam是int,您在这里看到的技巧是允许您通过一个参数传递多个值。假设我们需要将两个数字传递给只接受一个参数的函数。我们可以将它们作为两位数发送,并在函数中进行拆分。同样,按位移位(&lt;&lt;)和按位或(|)操作在您的情况下也可以反转:>>> x = 300

>>> y = 300

>>> lParam = y << 15 | x

>>> lParam & 0x7FFF # x

0: 300

>>> lParam >> 15 # y

1: 300

您可以在Wikipedia和Python Wiki中阅读有关按位操作的更多信息。

python win32api.sendmessage_Python win32api sendmasg相关推荐

  1. 解决在Python中使用Win32api报错的问题,No module named win32api

    一.系统环境 操作系统: Win7 64位 Python:3.7.0 二.在使用import win32api时,报错:No module named win32api 网上查到有下面解决办法: 方法 ...

  2. python - windows 之 win32api资料教程与函数大全

    win32api 官网教程 : http://timgolden.me.uk/pywin32-docs/contents.html win32api 其他教程: http://www.esk365.c ...

  3. python winapi_在Python中使用win32api检测按键

    win32api只是底层windows低级库的接口. 请参见^{} Function:Determines whether a key is up or down at the time the fu ...

  4. python获取控件内容_python通过win32api轻松获取控件的属性值

    1.如何利用句柄操作windows窗体 首先,获得窗体的句柄  win32api.FindWindows() 第二,获得窗体中控件的id号,spy++ 第三,根据控件的ID获得控件的句柄(hwnd)  ...

  5. python win32api

    关于python调用win32api的实验: 不知道是不是我家路由器节点出问题了,老是连不了有些网站,炉石也玩不了,算了,不说这个. 在https://sourceforge.net/projects ...

  6. python获得屏幕分辨率多少合适_python调win32api调整屏幕分辨率

    在windows下想要通过python写的程序,需要调用到调整屏幕分辨率.在网上查到,需要用windows的api,ChangeDisplaySettings .在python下使用,需要先安装 py ...

  7. win32api 中mouse_event、GetFullPathName(fileName)、.GetLocalTime()、GetSystemDirectory()等函数的用法

    关注公众号:[小张Python],为你准备了 50+ 本Python 精品电子书籍 与 50G + 优质视频学习资料,后台回复关键字:1024 即可获取:如果对博文内容有什么疑问,公众号后台添加作者[ ...

  8. pythonwin32api拖动图标_Python使用win32api,模拟鼠标移动并复制/粘贴到diskfi中

    大家好-我正在使用win32api.其用途是在计算机屏幕上移动鼠标,高亮显示一个区域,复制内容,并将内容发送到MS Excel电子表格.在 代码如下:import xlwt import win32a ...

  9. cad.net 利用win32api实现一个命令开关参照面板

    首先我要判断是否已经打开了参照面板. 然而cad自己没有相关的系统变量.这时我就需要利用到win32api来判断程序是否打开了参照面板了. 首先学习的是 https://blog.csdn.net/b ...

  10. wxPython:Python首选的GUI库 | CSDN博文精选

    作者 | 天元浪子 来源 | CSDN博客 文章目录 概述 窗口程序的基本框架 事件和事件驱动 菜单栏/工具栏/状态栏 动态布局 AUI布局 DC绘图 定时器和线程 后记 概述 跨平台的GUI工具库, ...

最新文章

  1. Fedora 18 在线升级至 Fedora 19 命令步骤
  2. 画出该lti系统的幅频特性响应曲线_模拟电路-放大电路的频率响应
  3. weblogic10数据源(连接池)配置
  4. Spark _14_SparkShell的使用
  5. Error creating bean with name ‘userController‘: Unsatisfied dependency expre
  6. csdn博客markdown 如何输入上下标(如平方指数等)
  7. 英语学习笔记2019-11-01
  8. 磨刀不误砍柴工,ORAchk健康检查好帮手
  9. 比特币科普:区块链技术神奇在哪里?
  10. Learning Python 012 函数式编程 1 高阶函数
  11. 你需要了解的App经济学基础 转
  12. 04 CoCos Creator-Please make sure java is installed and JAVA_HOME
  13. java 中文星期表示_java之获得中文星期几
  14. 2022年起重机司机(限桥式起重机)考试模拟100题及答案
  15. 膨胀卷积dilated convolution 相关
  16. 12.Opencv大作业——实现鼠标绘制基本图形
  17. 基于live555的视频直播
  18. Java产品:CRM客户关系管理系统
  19. 记录:微信小程序Switch样式调整
  20. 年度最火购车方式网上购车平台购车,强势来袭!

热门文章

  1. cmder 下载及安装
  2. ChartControl控件绘制折线图
  3. buck-boost电路中,输入电压增加后,电感电流曲线变化的推导 // 《精通开关电源设计》P44 图2-3
  4. 机器人学基础——位姿
  5. 数据通信原理_卫星通信系统原理什么 卫星通信系统原理介绍【图文】
  6. 中小型企业网络配置、基于企业网络方案的设计与实施
  7. Eclipse查看对应windowsbuilder+GEF+EMF版本
  8. 《数据挖掘概念与技术》第三版 范明 孟小峰译 课后习题答案(一)
  9. widthStep、width
  10. 诺基亚e72显示服务器繁忙,诺基亚e72用着好不好和手机出现的一些小问题总结