根据窗口句柄,如何获得程序的目录?
我是通过handle:=FindWindow(‘xxx',nil)得到handle的,请问怎么通过这个handle获得xxx这个程序的目录?
[解决办法]
midwinter(仲冬)回复于 2005-01-23 09:37:48 得分 0
整理出来就是这样:
function GetModuleFileNameEx(hProcess: HINST; hModule: HINST; lpFilename: PChar; nSize: DWORD): DWORD; stdcall; function GetModuleFileNameEx; external 'psapi.dll' name 'GetModuleFileNameExA'; function GetModuleFileNameFromWindow(hWnd: HWND): string; var Buffer: array[0..54] of Char; ProcessID: Cardinal; hProcess: Cardinal; begin Result := ''; if hWnd <> 0 then begin GetWindowThreadProcessId(hWnd, ProcessID); hProcess := OpenProcess(PROCESS_ALL_ACCESS, True, ProcessID); if hProcess <> 0 then begin GetModuleFileNameEx(hProcess, 0, @Buffer, 255); Result := Buffer; end; end; end;