실행중인 파일 열기

From YYpBD's MediaWiki

Jump to: navigation, search
function AccessFileOpen(const FileName: string): string;
var
        FileHandle : THandle;
        BytesRead : LongWord;
        Buffer          : array[0..MAX_PATH - 1] of Char;
begin
        FillChar(Buffer, Sizeof(Buffer), #0);

        // 파일 열기
        FileHandle := CreateFile(
                PAnsiChar(FileName),
                GENERIC_READ { or GENERIC_WRITE },
                FILE_SHARE_READ or FILE_SHARE_WRITE,
                nil,
                OPEN_EXISTING,
                FILE_ATTRIBUTE_NORMAL,
                0);
        try
                if FileHandle = INVALID_HANDLE_VALUE then begin
                        // 파일 읽기 실패
                        ShowMessage(SysErrorMessage(GetLastError));
                end else begin
                        SetFilePointer(FileHandle, 0, nil, FILE_BEGIN);
                        ReadFile(FileHandle, Buffer, Sizeof(Buffer), BytesRead, nil);

                        result := Buffer;
                end;
        finally
                // 파일 핸들을 닫기
                CloseHandle(FileHandle);
        end;
end;
맞춤검색