2009-10-28 7 views

답변

8

전화 GetModuleFileName. 모듈 핸들의 경우 SysInit.HInstance을 사용하십시오. 0을 전달하면 호스트 EXE의 파일 이름 (ParamStr(0))이 전달됩니다. 하여 GetModuleFileName의

+0

감사합니다 예상대로 :) –

1

사용 예 :

function DLLFileName : string; 
begin 
    SetLength(Result,MAX_PATH); 
    GetModuleFileName(HInstance,PCHar(Result),MAX_PATH); 
    SetLength(Result,StrLen(PChar(Result))); 
end; 
+0

마지막 두 줄이 하나로 접을 수,'하여 GetModuleFileName()는이'복사 된 문자 수를 반환으로, 작동, 그래서'STRLEN()'이 필요하지 않습니다. – mghie

+0

더 쉽습니다. 결과 : = PChar (결과); – dummzeuch

+0

@dummzeuch :보기가 쉬워요. 어쨌든 내부적으로'StrLen()'과 같은 것을 호출합니다. 가장 작고 빠른 코드를 원한다면 ... – mghie

관련 문제