4

我正在尝试查找 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)

如果我输入正确的文件名,这可以工作,但问题是我不知道文件名。那么当我只知道部分标题时,我怎么能得到这个工作呢?

还是我必须搜索类名?如果是这样,我怎么知道类名:)?

额外说明:我确实知道文件名,但它附加了一个未知数字,例如 filename88,并且每次运行程序时都会有所不同。

4

1 回答 1

-2
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)

此函数将返回包含您需要的较短字符串的完整文件名 - 但是只有当您正在搜索的文件是该目录中唯一具有该子字符串的文件时,它才会起作用。如果你想要更健壮的东西,你应该修改正则表达式。

于 2014-01-24T14:58:13.380 回答