如何在Python脚本中将SendKeys发送到Windows表单?

2024-01-14

我正在为我的桌面应用程序使用 Python 编写自动化脚本。 我正在将 TAB 键/任意键发送到我的 Windows 窗体。但我无法在 Python 脚本中找到该 Windows 窗体的句柄。

这是示例代码片段:

__author__ = 'juhis'

import SendKeys
import sys
import os
from Tkinter import *
import ctypes
import win32gui
import pywinauto

pwapp = pywinauto.application.Application()
whandle = pywinauto.findwindows.find_windows(title_re='Form1',class_name='WindowsForms10.Window.8.app.0.2bf8098_r13_ad1')[0]
window1 = pwapp.window_(handle=whandle)
window1.SetFocus()

SendKeys.SendKeys("""{PAUSE 2}""")
SendKeys.SendKeys("""{TAB 2}{PAUSE 2}{ENTER}""")

请帮我解决这个问题。

-Thanks


代码可以重写得更简单:

import pywinauto

app = pywinauto.application.Application().connect(title_re='Form1')
Form1 = app.Window_(title_re='Form1', class_name='WindowsForms10.Window.8.app.0.2bf8098_r13_ad1')
Form1.SetFocus()
Form1.TypeKeys("{PAUSE 2}")
Form1.TypeKeys("{TAB 2}{PAUSE 2}{ENTER}")

TypeKeys自动将焦点设置到Form1并键入按键。SendKeys没有设置焦点,因为它不知道窗口。这可能就是为什么它不能与SendKeys.

[编辑] 当然,您需要以管理员身份运行脚本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python脚本中将SendKeys发送到Windows表单? 的相关文章

  • 清理 .txt 并计算最常见的单词

    我需要 1 从停用词列表中清除 txt 我将其放在单独的 txt中 2 之后我需要统计最常见的 25 个单词 这是我为第一部分想到的 usr bin python coding iso 8859 15 import re from coll
  • 将父控件的属性传递给子控件

    我正在为特定应用程序开发一组自定义控件 我想定义对于外观目的的控件集通用的属性 为了论证 让我们这样做CustomCtrl AccentColor 我想为我的 Windows 窗体定义相同的属性 即Form1 AccentColor当我更改
  • DataGridView 列中的数字文本框

    我有一个DataGridView 我想要它的第一列或任何所需的列 其中有textboxes在其中 成为NUMERIC ONLY 我目前正在使用这段代码 private void dataGridViewItems EditingContro
  • C# Winforms Designer 无法打开,因为它无法在同一程序集中找到类型

    我收到以下错误 找不到类型 My Special UserControl 请确保引用包含此类型的程序集 如果此类型是您的开发项目的一部分 请确保已使用当前平台或任何 CPU 的设置成功构建该项目 但没有任何意义的是My Special Us
  • 即使 keypreview = true,按钮也会阻止 KeyDown 事件触发

    在 VS Express 12 中重现的步骤 创建一个新的 Windows 窗体应用程序项目 添加按钮 将 Form KeyPreview 设置为 true 向表单添加 keyDown 事件 只要按钮存在于表单上 事件就不会触发 我有一个项
  • 使用 pywinauto 自动安装软件时出错

    经过搜索 我找不到好的回复 我正在尝试使用 pywinauto 自动化公司软件 我尝试使用app print control identifiers 只要有可能 这是上帝派来的 感谢 Youtube 上的人们和 Vasily 的帖子 请参阅
  • C# Windows 表单应用程序 - 使用 gmail smtp 发送电子邮件

    我一直在尝试创建一个小程序通过smtp gmail com发送电子邮件 但它总是提示我 操作已超时 我知道网上有很多解决方案 但没有一个有效 try MailMessage message new MailMessage SmtpClien
  • Python - 设置 .pop() 行为

    这是我在 Python 集合中注意到的奇怪的事情 我读到集合中没有顺序 但它确实从 0 到 79 弹出较低的元素 后来从 79 到 127 弹出 它不再弹出较低的元素 只有在 128 到来之后 79 才会被弹出 为什么会这样呢 有没有其他方
  • 将 python2.7 与 Emacs 24.3 和 python-mode.el 一起使用

    我是 Emacs 新手 我正在尝试设置我的 python 环境 到目前为止 我已经了解到在 python 缓冲区中使用 python mode el C c C c将当前缓冲区的内容加载到交互式 python shell 中 显然使用了什么
  • 如何断言 Unittest 上的可迭代对象不为空?

    向服务提交查询后 我会收到一本字典或一个列表 我想确保它不为空 我使用Python 2 7 我很惊讶没有任何assertEmpty方法为unittest TestCase类实例 现有的替代方案看起来并不正确 self assertTrue
  • Python:返回 // 正则表达式之间的字符串[重复]

    这个问题在这里已经有答案了 我仍然不明白正则表达式 我阅读了文档 但是在我想出了正则表达式字符之后 那么如何使用它们呢 例如 我只想返回前两个斜杠之间的任何内容 en lemon peel n ca llimona n is 的输出应该是
  • 如何检查字符串是否严格包含字母和数字

    如何检查一个字符串是否是strictly同时包含字母和数字 关注还不够 def containsLettersAndNumber input if input isalnum return True else return False is
  • 在 Python 2.7 中出现“ImportError:无法导入名称 HTTPSConnection”错误

    我正在尝试在 AWS ElasticBeanstalk 中部署 django 当我按照所示步骤操作时here http docs aws amazon com elasticbeanstalk latest dg create deploy
  • 匹配所有有效格式 IPv6 地址的正则表达式

    乍一看 我承认这个问题看起来像是这个问题以及与之相关的任何其他问题的重复 匹配有效 IPv6 地址的正则表达式 https stackoverflow com questions 53497 regular expression that
  • 当我在组合框中选择一个项目时,如何防止 TextChanged 事件?

    我有一个TextChanged http msdn microsoft com en us library system windows forms control textchanged aspx我的事件ComboBox http msd
  • ComboBox DataBinding 导致 ArgumentException

    我的几个类对象 class Person public string Name get set public string Sex get set public int Age get set public override string
  • 如何填充 ToolStripComboBox?

    我发现它很难将数据绑定到ToolStripComboBox 好像没有这个ValueMember and DisplayMember特性 怎么绑定呢 访问toolstripcombobox中包装的组合框并访问其ValueMember Disp
  • Winforms 动画背景

    我想要我的winform的背景是动画的 就像背景中的动画gif或作为背景播放的视频文件或flash电影 如何做到 只需获取一个可以执行您想要的操作的控件 例如 ImageBox 并将 Dock Property 设置为填充即可完成页面 您放
  • 当文本框中有字符串时如何启用按钮?

    我在 form2 中有一个文本框和一个按钮 当单击 form1 中的某个项目时 将出现 form2 我想在文本框为空时保持 form2 中的按钮处于禁用状态 但是当用户开始输入时 我想启用该按钮 我尝试在构造函数中像这样在initialis
  • 如何在 Python 中使用 PIL\Numpy 获取灰度图像的平均像素值?

    我有很少的灰度图像 我想计算整个图像的平均像素值 这样我就可以使用单个值来表示每个单独的图像 如果你想做这样的事情 你应该考虑使用scikit image而不是原始的 PIL 或枕头 SciKit Image 使用 numpy 数组来存储图

随机推荐

  • 如何通过部分 ID 值选择 CSS 中的元素?

    我有一些用 PHP 生成的元素 我想知道是否可以选择 id 不完整的元素 例如 div class 1 div div class 2 div div class 1 div div class 2 div 该类已经习惯了它们的共同点 但现
  • Android - 窗口标志

    有没有办法检测窗口标志何时触发 假设我有一个WindowManager LayoutParams FLAG SECURE 当我触发它时如何检测它 我尝试用谷歌搜索问题 但我所得到的只是设置 添加窗口标志 谢谢 在您的活动中只需覆盖onWin
  • 使用元组而不是冻结集作为字典的键是否存在性能差异?

    我有一个脚本 它使用由两个变量组成的键多次调用字典 我知道我的程序将以相反的顺序再次遇到这两个变量 这使得将密钥存储为元组变得可行 创建一个行和列具有相同标签的矩阵 因此 我想知道使用元组而不是冻结集作为字典键是否存在性能差异 在快速测试中
  • SVN:如何在提交时忽略修改的文件? [复制]

    这个问题在这里已经有答案了 我在svn中编辑了一些文件 如下所示 svn st M a M b 现在 我想将我的更改提交到 svn 由于某种原因 我不想提交文件b 有没有快速的方法或命令来忽略修改的文件b 最后 我使用 yzucker解决方
  • C# 任务栏中的 Windows 7 进度条?

    如果您注意到在 Windows 7 Beta 中 如果您复制文件或其他系统操作 任务栏中的 Windows 资源管理器图标将填充一个绿色进度条 相当于表单上的进度条 有没有一种方法可以在我的 C 表单中强制我的任务栏进度条与我正在执行的任何
  • 将数据插入 ms access 表时出现语法错误

    我有以下代码 OleDbConnection aConnection new OleDbConnection Provider Microsoft ACE OLEDB 12 0 Data Source storage db accdb st
  • XPath 表达式对 //element 不返回任何内容,但 //* 返回一个计数

    我将 XOM 与以下示例数据一起使用 Element root cleanDoc getRootElement find all the bold elements as those mark institution and clinic
  • C# 中将父对象转换为子对象

    您好 我想在 C 中将父对象转换为子对象 public class Parent public string FirstName get set public string LastName get set public string Ci
  • 根据计数折叠数据框中所有因子变量的因子级别

    我想根据频率仅保留前 2 个因素级别 并将所有其他因素分组为 其他 我尝试过这个但没有帮助 df data frame a as factor c rep D 3 rep B 5 rep C 2 b as factor c rep A 5
  • 带有 Spring 的 Jersey 2 中的自定义 Jackson ObjectMapper

    我在将 Jersey 从 1 x 迁移到 2 x 时遇到一些问题 我的应用程序使用 Jersey 提供 REST Web 服务 并通过 Jackson 和 Spring 4 以 JSON 形式提供数据来处理依赖项注入 在 Jersey 1
  • 自动创建.OBJDIR子目录

    操作系统 FreeBSD 11 0 RELEASE 我有以下目录结构 xxx obj xxx src deep cpp xxx flat cpp xxx makefile makefile的内容如下 flat out flat o deep
  • Linq to SQL 抛出 StackOverflowException

    我正在使用 Linq to SQL 执行一个非常简单的查询 我正在创建表达式 然后将其传递给Where 扩展方法 当我尝试实际执行查询时 Linq 内部抛出 StackOverflowException 这是代码 int expectedC
  • 有没有办法从模板类的完整类型中获取其类型?

    我需要一个元函数 对于给定的完整类类型返回其模板 例如f
  • 如何在ionic 3中创建常量文件?

    设置要在整个应用程序中使用的全局常量 例如 API URL 字符串 的最佳 推荐方法是什么 我有 JSON 格式 想要设置一个全局常量并在整个应用程序中作为静态常量使用 import Injectable from angular core
  • Cassandra:如何在超级列族中创建列?

    我在架构文件中定义数据库模型 以便稍后从头开始轻松创建键空间和列族 我查看了 Cassandra 发行版附带的 schema sample txt 它展示了如何使用 column metadata 创建标准列族 如下所示 create co
  • 如何为 Samsung Galaxy Note 2 创建 Android AVD?

    我想创建一个 AVD 来测试 Samsung Galaxy Note 2 上的应用程序 我检查过类似的问题 但它们适用于较旧的 AVD 版本 我应该使用哪个设备 我应该将目标设置为 Android 2 3 3 API Level 10 吗
  • 尝试在 Spring Boot 中集成 Codahale Metrics,但在 /metrics 中看不到指标

    我遵循指示 将 coda hale 指标库添加到类路径中会自动自动配置指标 这有效 我得到了注入的 metricRegistry bean 但是 如何在 metrics 端点中公开这些新指标 Thanks 有一些集成魔法通过http www
  • Visual Studio 更改常规开发设置

    在 Visual Studio 2010 中 有没有办法改变General Development设置为C 开发设置 刚开始安装的时候忘记选了 click Tools click 导入和导出设置 click 导入选定的环境设置 保存当前设置
  • basedir 必须是绝对的:?/.ivy2/local

    我是在一种完全绝望的状态下写下这篇文章的 我有 2 个用户 1 个本地用户 在 Linux 中创建 100 正常工作 字数统计完美 Kerberized 集群 有效门票 1 个 Active Directory 用户可以登录 但 pyspa
  • 如何在Python脚本中将SendKeys发送到Windows表单?

    我正在为我的桌面应用程序使用 Python 编写自动化脚本 我正在将 TAB 键 任意键发送到我的 Windows 窗体 但我无法在 Python 脚本中找到该 Windows 窗体的句柄 这是示例代码片段 author juhis imp