x446187 发表于 2022-12-1 11:49

Python os相关请教

在墙内墙外找了一大堆资料都没有对点子上的,还是来52里找大佬们解决

用os.startfile()打开的文档,怎么用python关闭,类似于我们点击右上角的“×”,而不是在内存里close

程序如下:
doc = Document(r'D:test.docx')
# 打开文档(不是在内存)中,而是类似双击打开
os.startfile(doc)

像这样已经界面化打开的文档,我怎么用python将它“点击×”关掉呢?

cflying 发表于 2022-12-1 19:13

本帖最后由 cflying 于 2022-12-1 19:54 编辑

document没close?

WEASYD 发表于 2022-12-1 23:10

你这个是双击打开的话,那是另一个进程吧,是不是调用Word打开你的Word文档,如果是那样的话那只能获取进程号杀死进程吧,如果你想要模拟点x关掉,那就安装一些第三方软件ui自动化测试模块,模拟鼠标点击x,反正如果是打开了外部程序,想要关掉就需要获取窗口句柄啥的

LightswornSnow 发表于 2022-12-2 15:49

不是大佬,分享个小白的思路,要不要试试win32api库

x446187 发表于 2022-12-3 08:11

cflying 发表于 2022-12-1 19:13
document没close?

close对应的是在内存中open,但是这个startfile类似于我们双击打开文档,使用电脑本身的office打开文档

x446187 发表于 2022-12-3 08:12

WEASYD 发表于 2022-12-1 23:10
你这个是双击打开的话,那是另一个进程吧,是不是调用Word打开你的Word文档,如果是那样的话那只能获取进程 ...

没有类似于给一个文档地址,定向关闭指定文档之类的方法吗?{:1_908:}

YuanFang0w0 发表于 2022-12-3 08:13

找到进程,然后杀死。

cflying 发表于 2022-12-3 09:14

x446187 发表于 2022-12-3 08:11
close对应的是在内存中open,但是这个startfile类似于我们双击打开文档,使用电脑本身的office打开文档

哦,startfile本意是用于打开exe程序的,所以压根就不用考虑点X这个问题,只有杀进程。

WEASYD 发表于 2022-12-3 12:00

x446187 发表于 2022-12-3 08:12
没有类似于给一个文档地址,定向关闭指定文档之类的方法吗?

文档是外部程序打开的,office文档打开都是加上锁定状态,你只能关闭程序进程

WEASYD 发表于 2022-12-3 12:05

x446187 发表于 2022-12-3 08:12
没有类似于给一个文档地址,定向关闭指定文档之类的方法吗?

你这个想法就是像360,火绒那样的强行解除文件占用,那需要安全管家这样的应用才行,通过这样的应用强行解除占用,但这样的应用也是安装软件。。
页: [1]
查看完整版本: Python os相关请教