欢迎访问宙启技术站
智能推送

Python中如何使用win32process模块进行进程管理

发布时间:2024-01-05 19:25:33

在Python中,可以使用win32process模块来进行进程管理,包括启动新进程、结束指定进程、查找指定进程等操作。下面是使用win32process模块进行进程管理的一些示例:

1. 启动新进程:

import win32process
import win32gui

# 定义新进程的启动命令
command = "notepad.exe"

# 启动新进程
info = win32process.CREATE_NEW_CONSOLE
pid, tid, handle, thread_handle = win32process.CreateProcess(None, command, None, None, False, info, None, None, win32process.STARTUPINFO())

2. 结束指定进程:

import win32process

# 定义要结束的进程ID
pid = 1234

# 结束进程
handle = win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS, False, pid)
win32api.TerminateProcess(handle, -1)
win32api.CloseHandle(handle)

3. 查找指定进程的进程ID:

import win32process
import win32gui

# 定义要查找的进程名称
process_name = "notepad.exe"

# 获取当前所有进程的进程ID和进程名称
processes = win32process.EnumProcesses()
for pid in processes:
    try:
        handle = win32api.OpenProcess(win32con.PROCESS_QUERY_INFORMATION | win32con.PROCESS_VM_READ, False, pid)
        exe_path = win32process.GetModuleFileNameEx(handle, 0)
        process_handle = win32gui.OpenProcess(win32con.PROCESS_QUERY_INFORMATION | win32con.PROCESS_VM_READ, False, pid)
        window_title = win32gui.GetWindowText(win32gui.GetForegroundWindow())
        if process_name.lower() in exe_path.lower() or process_name.lower() in window_title.lower():
            print("进程ID:%d" % pid)
            print("进程路径:%s" % exe_path)
            print("窗口标题:%s" % window_title)
            print("-----------")
    except Exception as e:
        continue

需要注意的是,使用win32process模块需要事先安装pywin32库。可以使用pip install pywin32命令进行安装。此外,在使用win32process模块时,可以利用其他相关模块如win32conwin32apiwin32gui等来获取更多关于进程的信息。