怎么用Python編寫一個(gè)進(jìn)程勾選器

小億
86
2024-03-05 11:23:58
欄目: 編程語言

要編寫一個(gè)進(jìn)程勾選器(也就是監(jiān)視和選擇進(jìn)程)的Python程序,可以使用psutil庫來獲取系統(tǒng)當(dāng)前運(yùn)行的進(jìn)程信息,并使用tkinter庫來創(chuàng)建一個(gè)圖形化界面來展示進(jìn)程信息和進(jìn)行選擇操作。

以下是一個(gè)簡(jiǎn)單的示例代碼,實(shí)現(xiàn)了一個(gè)基礎(chǔ)的進(jìn)程勾選器功能:

import psutil
import tkinter as tk

def update_process_list():
    process_list.delete(0, tk.END) # 清空進(jìn)程列表
    
    for proc in psutil.process_iter():
        try:
            process = psutil.Process(proc.pid)
            process_list.insert(tk.END, f"{proc.pid}: {process.name()}") # 插入進(jìn)程信息
        except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
            pass

def on_select():
    selected_index = process_list.curselection()
    if selected_index:
        selected_pid = int(process_list.get(selected_index).split(':')[0])
        selected_process = psutil.Process(selected_pid)
        print(f"Selected process: {selected_process.name()}")

# 創(chuàng)建主窗口
root = tk.Tk()
root.title("Process Selector")

# 創(chuàng)建進(jìn)程列表框
process_list = tk.Listbox(root, width=50)
process_list.pack()

# 創(chuàng)建更新按鈕
update_button = tk.Button(root, text="Update", command=update_process_list)
update_button.pack()

# 創(chuàng)建選擇按鈕
select_button = tk.Button(root, text="Select", command=on_select)
select_button.pack()

# 初始化進(jìn)程列表
update_process_list()

# 運(yùn)行主事件循環(huán)
root.mainloop()

以上代碼創(chuàng)建了一個(gè)簡(jiǎn)單的圖形化界面,展示了系統(tǒng)當(dāng)前運(yùn)行的進(jìn)程列表,用戶可以選擇一個(gè)進(jìn)程并點(diǎn)擊"Select"按鈕來獲取選擇的進(jìn)程信息。需要注意的是,該示例僅展示了基礎(chǔ)的功能,你可以根據(jù)需要進(jìn)一步完善和定制功能。

0