- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚编写了简单的脚本来启动应用程序,并且我正在尝试使用“SendKeys”模块将击键发送到该应用程序。有一个“快照”按钮,但我无法让 Python 单击“快照”按钮,因为新窗口没有焦点。所以我计划使用 Win32gui 模块的 win32gui.FindWindow
和 win32gui.SetForegroundWindow
功能。但它给了我错误-无效句柄
。我的应用程序名称是“DMCap”
这是 Python 中的代码片段:
handle = win32gui.FindWindow(0, "DMCap") //paassing 0 as I dont know classname
win32gui.SetForegroundWindow(handle) //put the window in foreground
有人可以帮助我吗?这段Python代码正确吗?我可以像这样直接发送句柄吗?
最佳答案
如果确实有一个标题为“DMCap”的窗口,您的代码应该按原样运行良好。要获取句柄和标题列表,请运行以下代码:
import win32gui
def window_enum_handler(hwnd, resultList):
if win32gui.IsWindowVisible(hwnd) and win32gui.GetWindowText(hwnd) != '':
resultList.append((hwnd, win32gui.GetWindowText(hwnd)))
def get_app_list(handles=[]):
mlst=[]
win32gui.EnumWindows(window_enum_handler, handles)
for handle in handles:
mlst.append(handle)
return mlst
appwindows = get_app_list()
for i in appwindows:
print i
这将生成一个包含句柄、标题对的元组列表。
关于Python:win32gui.SetForegroundWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16770909/
使用 powershell 代码,我尝试更改窗口的位置(工作正常)并将此窗口“始终位于顶部”。 请在下面找到我的代码: Import-Module C:/install/WASP/wasp.dll f
这个问题已经有答案了: Bring to forward window when minimized (2 个回答) 已关闭 8 年前。 无法找到有关此主题的任何好的答案,所以也许有人可以帮助我。我正
我刚刚编写了简单的脚本来启动应用程序,并且我正在尝试使用“SendKeys”模块将击键发送到该应用程序。有一个“快照”按钮,但我无法让 Python 单击“快照”按钮,因为新窗口没有焦点。所以我计划使
我正在尝试启动一个应用程序并将其置于最前面。但是,应用程序启动正常,但最终会落后启动应用程序。请注意,在已运行的最小化应用程序上使用类似的方法效果很好(为简洁起见,从该示例中删除了该代码)——它仅在启
我有一个用 C# 编写的应用程序,它向另一个程序发送 key 。为此,我在发送有效的键之前调用了 SetForegroundWindow 方法。问题是当我使用 RDC 连接到计算机并最小化 RDC 窗
我使用这个问题 How to force C# .net app to run only one instance in Windows? 将我的 C# Windows 应用程序限制为一次只允许一个实
我正在使用 C# 应用来监听全局组合键 (ctrl+F9),这会将特定窗口置于最前面。 这是我用来将窗口置于最前面的代码,它仅在由 Button 事件触发时有效: private void b
目前,我正在尝试使用 JNA 将非 Java 应用程序设置为焦点,我发现了以下代码。 import com.sun.jna.platform.win32.User32; import com.sun.
我正在开发一个消息传递工具。消息窗口是整个应用程序的一部分。当有消息传来时,我需要窗口转到前面。我正在使用这段代码: if( m_hwnd == NULL || !::IsWindow(m_h
我写了一个图像匹配 C++ 工具,它是一个通知区域工具(无可见窗口)。它获得了另一个窗口的句柄并将其聚焦,然后匹配它保存的图像。现在这个工具正在完善,但我关注的程序的制作者(不是我写的)推送了一个更新
我有一系列相当复杂的应用程序,这些应用程序依赖于在前台切换应用程序的能力。 我的问题是,在前台切换应用程序每 5 或 6 次,它根本无法使应用程序前进。 GetLastError 不报告任何问题。我经
这是我想做的: 1)用用户名打开一个应用程序 2)提供一些输入 3)为具有不同用户名的应用程序打开第二个窗口 4)再输入一些信息 5)切换到第一个应用程序窗口,做一些事情 6)切换到第二个应用 我正在
我知道这听起来很邪恶,但我的意图根本不是这个。 用户点击“延迟拍摄”并开始倒计时,在此期间他们将焦点转到另一个应用程序,然后在倒计时之后用户希望我的应用程序收回焦点。 SetForegroundWin
谁能给我解释一下 setactivewindow 和 setforegroundwindow 有什么区别(使用来自 www.pinvoke.net/# 的 pinvoke 初看,您可以告诉我它设置了事
BringWindowToTop , SetForegroundWindow , SwitchToThisWindow , SetWindowPos , ShowWindow 所有这些都被描述为显示和
我注意到 Haskell Win32 api没有 SetForegroundWindow 函数,而且我对 haskell 不够熟练,无法自己添加此功能。是否有任何方法可以使用 haskell 复制它,
我正在寻找使用 FindWindow() 和 SetForegroundWindow() 切换到不同应用程序的旧 User32.dll 版本的替代方案. 我确实找到了使用 Process.GetPro
我在使用 PInvoke 的 .NET 中使用 SetForegroundWindow API。 当我在 Visual Studio 中调试时使用 API 时,它工作得很好。但是当应用程序正常运行时它
我是 SFML Team 的一员我们目前正在研究“请求”窗口焦点的功能。目标是在 Windows、OS X 和 Linux 上获得非常相似的行为。 对于 Windows,一个人得到相当简单的 SetF
我正在尝试使用 c# 将进程窗口设置为前台/焦点(从当时没有焦点的应用程序),因此我使用的是 user32.dll static extern bool SetForegroundWindow(Int
我是一名优秀的程序员,十分优秀!