C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[1515] [질문] 포맷을 할려면?
박세율 [] 3574 읽음    1999-07-03 00:00
안녕하세요
디스크를 포맷하게 할려고 합니다.
델파이의 팁중에 괘찮은거 같아서 씨빌더로 해보았는데
에러가 납니다.
이유가 무엇인지 알고싶습니다, 또 어떡하면 정상적으로
포맷할지도 알고싶습니다.
가르쳐 주세요.
아래는 제가 한것입니다.
그럼 안녕히 계세요

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#define   SHFMT_ID_DEFAULT 0xFFFF  // Formating options
#define    SHFMT_OPT_QUICKFORMAT 0x0000
/*#define   0x0001 SHFMT_OPT_FULL
#define   0x0002 SHFMT_OPT_SYSONLY   // Error codes
#define   0xFFFFFFFF SHFMT_ERROR
#define   0xFFFFFFFE SHFMT_CANCEL
#define   0xFFFFFFFD SHFMT_NOFORMAT
  */

TForm1 *Form1;
extern "C" __declspec(dllimport) long SHFormatDrive(HWND,
                       UINT,
                        UINT,
                         UINT);

__declspec(dllimport) long format(HWND,UINT,UINT,UINT);
typedef long (*Func)(HWND,UINT,UINT,UINT);

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Func myfunc;
HINSTANCE hinst=LoadLibrary("shell32.dll");
myfunc=(Func)GetProcAddress(hinst,"_SHFormatDrive");
long ret;
ret=myfunc(Application->Handle,0,SHFMT_ID_DEFAULT,SHFMT_OPT_QUICKFORMAT);

if (ret < 0)  ShowMessage("지정한 드라이브를 포맷하지 못했습니다.");

FreeLibrary(hinst);

}
//---------------------------------------------------------------------------


+ -

관련 글 리스트
1515 [질문] 포맷을 할려면? 박세율 3574 1999/07/03
1526     Re:[질문] 포맷을 할려면? 박지훈.임프 3738 1999/07/09
1536         Re:[감사] 답변해 주셔서 감사드립니다. 박세율 3684 1999/07/10
1627             Re:Re:[감사] 답변해 주셔서 감사드립니다. 박지훈.임프 3710 1999/08/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.