【研究中】このプログラムは、まだ動いていないです。
@@@
GetWindowThreadProcessIdでプロセスIDを取得
↓
OpenProcessでプロセスハンドルを取得
↓
EnumProcessModulesでモジュールハンドルを取得
↓
GetModuleFileNameExでファイルパスを取得
・・・とのことです。
from win32gui import EnumWindows,GetWindowText,GetClassName,GetForegroundWindow from ctypes import windll,wintypes,byref # パスの取得 pid = wintypes.DWORD() print(windll.user32.GetWindowThreadProcessId(hWnd,byref(pid))) PROCESS_TERMINATE = 1 hProcess = windll.kernel32.OpenProcess(1, False, pid) processModules = windll.psapi.EnumProcessModules(hProcess) # for processModule in processModules: # windll.win32process.GetModuleFileNameEx(hProcess, processModules[0]) # windll.win32process.GetModuleFileNameEx(hProcess, processModules) # filename = windll.kernel32.GetModuleFileNameEx(hProcess, 0) # windll.psapi.GetModuleFileNameEx(hProcess, 0) filename = win32process.GetModuleFileNameEx(hProcess, 0) # print(fileName) windll.kernel32.CloseHandle(hProcess)