.

iT邦幫忙

0

用Python操控task manager 結束工作失敗(已解決)

  • 分享至 

  • xImage

各位前輩好

目前遇到問題希望得到幫忙

目標:

  • 開啟Task Manager
  • 點tab 詳細資料
  • 任選一個exe 右鍵關閉

問題:
目前卡在 點tab 詳細資料這邊, 目前無法點到
從Inspect.exe裡面 看起來能定位用的只有
Name: "詳細資料"
LegacyiAccessible.ChildId: 6

請問我錯在哪裡QQ 感謝

import ctypes, sys
import subprocess
import time
import psutil
from pywinauto.application import Application


# 如果Task Manager有先被開啟 那就先關掉
for process in psutil.process_iter(attrs=["pid", "name"]):
    if process.info["name"].lower() == "taskmgr.exe":
        print("發現 Task Manager,正在關閉...")
        psutil.Process(process.info["pid"]).terminate()  # 強制關閉
        time.sleep(1)  # 等待 Task Manager 關閉

# 檢查是否以管理員身份運行
if ctypes.windll.shell32.IsUserAnAdmin() == 0:
    print("正在嘗試以管理員身份重新啟動...")
    ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, " ".join(sys.argv), None, 1)
    sys.exit()  # 重新啟動後,關閉當前腳本

# 直接開啟詳細版本的Task Manager
subprocess.run(["cmd", "/c", "start taskmgr /2"], shell=True)

# 等待 Task Manager 啟動
time.sleep(1)

# 連接到 Task Manager
app = Application().connect(path="taskmgr.exe")
window = app.window(title='工作管理員')

try:
    # more_details_button = window.child_window(title="詳細資料", control_type="TabItem")
    # more_details_button = window.child_window(legacy_properties={"childid": 6})
    more_details_button = window.child_window(title="詳細資料")
    more_details_button.click()
    print("點擊成功")
    time.sleep(2)
except Exception as e:
    print(f"無法點擊 '詳細資料':{e}")
    time.sleep(2)

twtabc iT邦新手 4 級 ‧ 2025-03-17 18:04:40 檢舉
AI給的小聰明方向

for _ in range(5):
keyboard.press_and_release('ctrl + tab')
time.sleep(0.1)
.
圖片
  直播研討會
awneyed
iT邦見習生 ‧ 2025-03-17 22:22:52
【**此則訊息已被站方移除**】

尚未有邦友回答

立即登入回答