首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

AAuto 快速開發:通過窗口句柄獲取進程完整路徑與模塊列表

     編輯:關於C語言

核心代碼(標準庫方式,推薦)

import winex;      // 窗口控制庫
import process;    // 進程控制庫

io.open()                       // 打開控制台
process.execute("notepad.exe")  // 啟動記事本

var hwnd = winex.waitActive(, , "Notepad")  // 等待激活並獲取句柄
var tid, pid = win.getThreadProcessId(hwnd) // 獲取進程 ID
var prcs = process(pid)                     // 打開進程對象

// 1. 獲取主模塊完整路徑
var exePath = prcs.getPath()
io.print("進程路徑:", exePath)

// 2. 遍歷所有加載模塊 (DLL/EXE)
for moduleEntry in prcs.eachModule() {
    io.print("模塊路徑:", moduleEntry.szExePath)
}

精簡版(僅需進程 ID)

import process; import win;
hwnd = 199492;                    // 已知窗口句柄
tid, pid = win.getThreadProcessId(hwnd);
path = process.getPath(pid);      // 直接由 PID 獲取路徑
win.msgbox(path, "AAuto");

優勢說明

  • 標準庫封裝:底層已處理 OpenProcess、GetModuleFileNameEx、EnumProcessModules 等複雜 API 與結構體。
  • 穩定跨版本:避免手工調用 API 因結構體對齊、指針運算導致的崩潰。
  • 功能豐富:process 對象同時提供模塊枚舉、線程枚舉、內存讀寫等高級功能。

適用場景

  • 自動化測試腳本需定位被測程序安裝路徑
  • 安全工具掃描進程加載的可疑 DLL
  • 部署腳本驗證運行環境完整性
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved