用python关闭,打开的“文件资源管理器”?
我用python写了一个小程序:每隔3分钟完成一次音频的合成,就会弹出一个文件夹【音频合成地址的窗口,比如:“D:\Code”】我想关闭这个文件夹窗口(文件资源管理器),用python怎么实现?
我有尝试过用,pywinauto、pyautogui 模拟鼠标点击窗口的X(关闭),但是鼠标是移动过去了,就是不点击!找不到原因。
后面尝试模拟键盘用 alt+F4,也不行,没有反应!找不到原因。
后面尝试中间加一个 AHK脚本模拟鼠标,也失败告终。
主要是解决:如何关闭一个windows窗口(文件资源管理器),提点一下就可以了,
还有为什么用pywinauto、pyautogui,操作windows窗口(文件资源管理器),比如alt+f4,选中文件夹中的文件后按f2重命名,这些都没有效果呢?但是在文本框中都是正常的。
关于 LearnKu
我的建议是,使用
os.system来通过命令行关闭文件资源管理器窗口。 我这里给出一个参考代码,你可以试试看不过要使用这个,你最好在你的电脑上安装 nircmd ,然后把它添加到你的环境变量中。
nircmd 作为一个命令行工具,功能挺强大的,通常用来执行各种窗口操作,自然也包括关闭窗口。
至于 pywinauto 和 pyautogui 的问题,这两个库都是用来自动化 windows GUI 操作的,理论上应该可以用来关闭文件资源管理器窗口,关于这个,我就不太清楚为什么你失败了。
这个问题可能是因为在弹出新窗口后,焦点没有正确地转移到新窗口上。你可以尝试使用
app.top_window()获取当前的最顶端的窗口,然后对这个窗口执行关闭操作。代码如下:如果这个方法仍然无效,你可以尝试使用
app.window(title="窗口标题")方法,通过窗口的标题来获取指定的窗口,然后执行关闭操作。这个操作会比较麻烦。还有就是,我所提供的参考代码只是关闭新窗口,如果你需要在关闭新窗口后执行其他的操作,需要在new_window.close()之后添加更多的代码。
至于’”D:\Code”这个路径下生成新文件夹’这个问题,可以用监控方案。
os模块可以监控”D:\Code”这个路径下的文件夹变化。当检测到新的文件夹被创建时,就使用pywinauto来关闭新弹出的窗口。