📌  相关文章
📜  如何在python中检查应用程序是否打开(1)

📅  最后修改于: 2023-12-03 15:38:36.671000             🧑  作者: Mango

如何在Python中检查应用程序是否打开

在开发Python应用程序时,有时需要检查其他程序是否正在运行。本文将介绍如何使用Python检查应用程序是否打开。下面是一些方法。

psutil

psutil是一个跨平台的进程和系统监控库。通过使用它,可以方便地检查正在运行的应用程序。

import psutil

def check_process(name):
    """
    检查给定名称的进程是否正在运行。
    """
    for process in psutil.process_iter():
        try:
            if name.lower() in process.name().lower():
                return True
        except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
            pass
    return False
subprocess

另一种方法是使用subprocess模块。它可以启动其他应用程序,并返回进程的PID(进程ID)。然后,可以使用psutil或操作系统的本地命令进行检查。

import subprocess

def check_process(name):
    """
    检查给定名称的进程是否正在运行。
    """
    process = subprocess.Popen(['pgrep', name], stdout=subprocess.PIPE)
    stdout, _ = process.communicate()
    return len(stdout.splitlines()) > 0
win32com

在Windows平台上,还可以使用win32com模块。它提供了对Windows特定函数的访问,因此可以检查应用程序是否打开。

import win32com.client

def check_process(name):
    """
    检查给定名称的进程是否正在运行。
    """
    wmi = win32com.client.GetObject('winmgmts:')
    processes = wmi.InstancesOf('Win32_Process')
    return any(process.Name.lower() == name.lower() for process in processes)

以上是几种常用的方法,您可以根据自己的需求选择适合您的方法。