사용자 참여란
// 과니입니다
// 2008.05.14 오늘의 팁입니다.
// 일주일전 부친상으로 인해 회사를 일주일 쉬었더니 출근하기 정말 힘들었습니다...
// 게을러진 맘을 잡고 팁을 올립니다.
// 오늘의 팁은 USB 드라이브를 안전하게 제거하는 방법입니다.
// 복잡하게 하기보단 최대한 단순하게 하기 위해 드라이브는 임의의 'E:' 드라이브로 정의하였습니다.
procedure TForm1.Button1Click(Sender: TObject);
const
IOCTL_STORAGE_EJECT_MEDIA = $2D4808;
COMPLETE_MESSAGE = '드라이브를 안전하게 제거하실 수 있습니다.';
var
hDevice : THandle;
dwByteReturned : DWORD;
begin
hDevice := CreateFile(PChar('\\.\E:'), GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE,
nil, OPEN_EXISTING, 0, 0);
if hDevice = INVALID_HANDLE_VALUE then Exit;
// 디스크 제거
DeviceIoControl(hDevice, IOCTL_STORAGE_EJECT_MEDIA, nil, 0, nil, 0, dwByteReturned, nil);
CloseHandle(hDevice);
Application.MessageBox(PChar(COMPLETE_MESSAGE), 'Information', MB_ICONINFORMATION);
end;







어깨가 한층 무거워지셨겠군요.
힘내시구요....
좋은 자료 감사드립니다.