透過文件句柄獲取進程的絕對路徑

如果不是對底層API、結構體、指針這些非常熟悉,不建議使用API.
AAuto標準庫裏提供了更穩定、更方便解決常見編程問題的方法,應儘可能使用標準庫函數。

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); //打開進程

var exePath = prcs.getPath()
io.print(
"獲了執行程序完整路徑",exePath )

//用下面的代碼可以列出程序加載的所有DLL路徑
for moduleEntry in prcs.eachModule() {
io.print(
"加載模塊路徑",moduleEntry.szExePath )
}



另外其他方法參考

import process;
import win;
hwnd=199492;// 句柄
tid,pid=win.getThreadProcessId(hwnd);//根據句柄獲取進程ID
path=process.getPath(pid);//根據進程ID獲取路徑
win.msgbox(path,"AAuto");


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章