python 编写类似于windows7的任务管理器
时间: 2023-10-17 21:20:26 浏览: 43
要编写类似于Windows 7的任务管理器,我们需要使用Python中的一些库。
首先,我们需要使用psutil库来获取系统进程信息。然后,我们可以使用Tkinter库来创建GUI界面。
以下是一个简单的Python程序,可以创建类似于Windows 7的任务管理器:
```python
import psutil
import tkinter as tk
class TaskManager:
def __init__(self, root):
self.root = root
self.root.title("Task Manager")
self.create_widgets()
def create_widgets(self):
# Create process listbox
self.process_listbox = tk.Listbox(self.root, width=70)
self.process_listbox.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
# Create scrollbar for process listbox
scrollbar = tk.Scrollbar(self.root)
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
# Attach scrollbar to process listbox
self.process_listbox.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=self.process_listbox.yview)
# Add processes to process listbox
for proc in psutil.process_iter():
try:
pinfo = proc.as_dict(attrs=['pid', 'name'])
self.process_listbox.insert(tk.END, str(pinfo['pid']) + " | " + pinfo['name'])
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
# Create refresh button
refresh_button = tk.Button(self.root, text="Refresh", command=self.refresh)
refresh_button.pack()
def refresh(self):
# Clear process listbox
self.process_listbox.delete(0, tk.END)
# Add processes to process listbox
for proc in psutil.process_iter():
try:
pinfo = proc.as_dict(attrs=['pid', 'name'])
self.process_listbox.insert(tk.END, str(pinfo['pid']) + " | " + pinfo['name'])
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
# Create root window
root = tk.Tk()
# Create task manager
task_manager = TaskManager(root)
# Run root window
root.mainloop()
```
这个程序使用psutil库获取系统进程信息,并使用Tkinter库创建GUI界面。它创建一个列表框,其中包含当前正在运行的所有进程,以及一个刷新按钮,用于更新进程列表。