delphi获取进程的完整路径

2025-04-08 22:11:51
推荐回答(2个)
回答1:

FPath := GetCurrentDir;
OpenDialog1.InitialDir := FPath;
ExtractFileDrive('') C:
ExtractFileDir('') C:\
ExtractFilePath('') C:\\
ExtractFileName('') fname.ext
ExtractFileExt('') .ext
ExtractFilePath(Application.ExeName) app path

回答2:

function GetProcessPath(ProcessID: DWORD): string;

var

Hand: THandle;

ModName: Array[0..Max_Path-1] of Char;

hMod: HModule;

n: DWORD;

begin

Result:='';

Hand:=OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ,

False,

ProcessID);

if Hand>0 then

try

ENumProcessModules(Hand,@hMod,Sizeof(hMod),n);

if GetModuleFileNameEx(Hand,hMod,ModName,Sizeof(ModName))>0 then

// Result:=ExtractFilePath(ModName);//得到路径

Result:=ModName; //得到路径和文见名

except end;

end;