是否有一个模块可以在 python 中用作 FindWindow API

Posted

技术标签:

【中文标题】是否有一个模块可以在 python 中用作 FindWindow API【英文标题】:Is there a module can be used as FindWindow API in python 【发布时间】:2016-07-14 06:55:11 【问题描述】:

在 Windows 上有一个 WinAPI:FindWindow,您可以使用它来获取现有窗口的窗口句柄并使用此句柄向它发送消息。有没有一个python模块也可以做到这一点?找到一个窗口并与之交流?

如果这个模块确实存在,那么同样的 mechainsm 是否也可以在 Ubuntu 上应用? 非常感谢!

【问题讨论】:

我认为你应该使用python中的win api。搜索“从python调用win api” 谢谢!但是没有一个模块可以做到这一点吗?我希望我的 python 程序无需修改即可适用于 Windows 和 Ubuntu ..... 该窗口是您的程序、您制作的另一个程序还是第三方程序? 我希望后一种情况有解决方案(第三方,已经存在的窗口,...),但如果没有,我想尝试在我的python程序并尝试与之通信..... 你想向窗口发送什么?但我认为你必须使用 Win API 和 QT 或任何 Ubuntu 使用的。有关该计划的更多信息? 【参考方案1】:

您可以使用子进程执行命令:

import subprocess
import time

process = subprocess.Popen("echo 'start' & sleep 60 & echo 'stop'", shell=True)
time.sleep(60) # Maybe you want a timer...

您有两种关闭选项,在 Popen 返回的对象中使用终止或终止方法或模拟 Ctrl。 + C

import subprocess
import time

process = subprocess.Popen(cmd, shell=True)
time.sleep(5)
process.terminate() # Or kill

模拟 de ctrl + c:

import subprocess
import time
import os
import signal

process = subprocess.Popen(cmd, shell=True)
time.sleep(5)
os.kill(process.pid, signal.SIGINT) # Ctrl. + C

如果你想得到你可以使用的输出:

process.communicate()[0].strip()

这会给你一个字符串。

如果你想要一个控制台 GUI,你可以使用如下命令:

gnome-terminal -x sh yourCommand

或您已安装的终端的等价物。

【讨论】:

顺便说一句,如果涉及到你,有一些方法可以在 Ubuntu 上共享现有窗口,请告诉我......毕竟,它更灵活...... ... 我不知道,对不起。应该有 Qt 或类似的东西

以上是关于是否有一个模块可以在 python 中用作 FindWindow API的主要内容,如果未能解决你的问题,请参考以下文章

如何为我在 Android 中用作背景的可绘制对象添加圆角?

是否有 Python 的“安全”子集可用作嵌入式脚本语言?

Python 的 yfinance 和 yahoo_fin 最近是不是停止工作?

python:正则模块

导入 SVG 以在反应中用作 favicon 的简洁方法

为啥 python 模块在 shell 中工作而不在脚本中工作?