파일의 이름바꾸기 ,복사, 이동.
// ShlOjb, ShellAPI 를 uses 절에 반드시 포함시켜야 됩니다.
//파일의 복사
procedure TForm1.Button1Click(Sender: TObject);
var
F : TShFileOpStruct;
begin
F.Wnd := Handle; // if 0, then no parent and can task switch away
F.wFunc := FO_COPY;
F.pFrom := 'C:\WINDOWS\*.TXT';
F.pTo := 'C:\WINDOWS\TEMP';
F.fFlags := FOF_ALLOWUNDO or FOF_RENAMEONCOLLISION;
if ShFileOperation(F) <> 0 then ShowMessage('Copy Failed');
end;
//파일의 삭제...
procedure TForm1.Button2Click(Sender: TObject);
var
F : TShFileOpStruct;
begin
F.Wnd := Handle;
F.wFunc := FO_DELETE;
F.pFrom := 'C:\WINDOWS\TEMP\*.TXT';
F.fFlags := FOF_ALLOWUNDO;
if ShFileOperation(F) <> 0 then ShowMessage('Delete Failed');
end;
// ShellAPI 에는 다음과 같은 구조가 정의되어 있다.
TSHFileOpStruct = record
Wnd: HWND; //현재의 핸들
wFunc: UINT; // FO_COPY, FO_DELETE, FO_MOVE, FO_RENAME
pFrom: PAnsiChar; // 원본 파일 이름.
pTo: PAnsiChar; // 대상 파일명
fFlags: FILEOP_FLAGS; // 이동,복사, 이름바꾸기 플래그를 설정
fAnyOperationsAborted: BOOL;
hNameMappings: Pointer;
lpszProgressTitle: PAnsiChar;
end;
pTo: PAnsiChar; // 대상 파일명
fFlags: FILEOP_FLAGS; // 이동,복사, 이름바꾸기 플래그를 설정
fAnyOperationsAborted: BOOL;
hNameMappings: Pointer;
lpszProgressTitle: PAnsiChar;
end;
댓글 없음:
댓글 쓰기