我试图找出Microsoft excel是否有一个打开的窗口
import win32ui
import time
def WindowExists(windowname):
try:
win32ui.FindWindow(None, windowname)
except win32ui.error:
return False
else:
return True
if WindowExists("filename - Microsoft Excel"):
print "Program is running"
time.sleep(10)
else:
print "Program is not running"
time.sleep(10)
如果我输入正确的文件名,这是有效的,但事情是我不知道文件名。 那么当我只知道标题的一部分时,如何才能完成这项工作呢?
或者我必须搜索类名吗?如果是这样我怎么知道classname:)?
额外说明: 我知道文件名,但它附有一个未知数字,类似于filename88,每次运行程序时都会有所不同。
答案 0 :(得分:1)
找到答案我实际上正在寻找Here
rabs的答案对我也有帮助,谢谢!
答案 1 :(得分:-1)
def find_filename(substring):
import os
import re
files = os.listdir(os.getcwd())
for file in files:
search = re.search(substring, file)
if search:
filename = file
break
return filename
file = find_filename('stringyouwant')
WindowExists(file)
此函数将返回包含您需要的较短字符串的完整文件名 - 但只有在您搜索的文件是该目录中具有该子字符串的唯一文件时,它才会起作用。如果你想要更健壮的东西,你应该修改正则表达式。