2015-01-12 40 views
0

我想在python中使用win32来创建2个函数... 1.检查某个应用程序是否正在运行的函数。 2.一个函数,检查应用程序是否安装...如何检查是否有任何程序使用python运行在窗口中

我已经尝试以下检查是否有东西在运行;

def IsRunning(ProgramName): 
    if win32ui.FindWindow(None, ProgramName): 
     print("its running") 
     return True 
    else: 
     print("its not running!") 

但如果程序没有运行FindWindow函数总是抛出错误之前我的计划还未获得else语句,我不知道如何绕过....

+0

,用于检查进程正在运行,我建议考虑看看[此](http://stackoverflow.com/questions/8135899/how-to-detect-if-a-process-is-running-using-python-on-win-and-mac)问题。 – VHarisop

+0

您可以使用psutil。这里的讨论:http://stackoverflow.com/a/8136371/2326132你得到什么错误? –

+0

如果问题是FindWindow引发错误,为什么不只是捕获错误? (https://docs.python.org/2/tutorial/errors.html) – firefrorefiddle

回答

1

我需要通过它是这样的;

def IsRunning(WindowName): 
    try: 
     if win32ui.FindWindow(None, WindowName): 
      print("its running") 
      return True 
    except win32ui.error: 
     print("its not running!") 
     return False 

你需要把窗口标题正是它通过测试并返回true ...

我想写的下一件事是使用正则表达式找到任何部分类似的功能的标题名称...

辉煌!现在快乐:)

唯一的是,如果应用程序的创建者决定改变程序的主窗口的标题,你正在尝试测试,它将不再工作......我希望以更健壮的方式做到这一点...即通过某种独特的流程代码!

在任何情况下,这将暂时做的,但如果任何人有一个更明确的答案,请让我知道

...

相关问题