簡體   English   中英

如何使用Python獲取進程名稱

[英]How can I get process name using Python

我知道我可以像這樣通過GetWindowThreadProcessId(hwnd)獲取processId,

pid = win32process.GetWindowThreadProcessId(hwnd)

但是,如何使用pid來獲取進程名稱(例如:chrome.exe,explorer.exe ...等)

謝謝

如果您願意使用第三方模塊,則可以使用psutil輕松完成此psutil

首先,您需要安裝它:

pip install psutil

然后,假設您有一個進程ID區域,只需執行以下操作:

import psutil
PID = 5220
print(psutil.Process(PID).name())

就我而言,這將打印:

python.exe

您正在使用win32模塊,因此您可以執行以下操作:

import win32api
import win32process
import win32con

.....

pid = win32process.GetWindowThreadProcessId(hwnd)
handle = win32api.OpenProcess(win32con.PROCESS_QUERY_INFORMATION | win32con.PROCESS_VM_READ, False, pid[1])
proc_name = win32process.GetModuleFileNameEx(handle, 0)

順便說一下,它是通過以下方式完成的:
http://nullege.com/codes/show/src%40f%40p%40fpdb-sql-HEAD%40pyfpdb%40WinTables.py/135/win32process.GetWindowThreadProcessId/python
對於跨平台解決方案,我可能會嘗試使用其他人已經提到的psutil。 您還可以查看以下內容:
https://www.blog.pythonlibrary.org/2010/10/03/how-to-find-and-list-all-running-processes-with-python/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM