수안이의 컴퓨터 연구실

  • Mainpage
  • About Me
  • Tags
  • Metapage
  • Notice
  • Location
  • Keywords
  • Guestbook
  • Admin
  • Write an Article
  • Total | 1694964
  • Today | 709
  • Yesterday | 606

1 Articles, Search for '디스크 포멧'

  1. 2007/03/02 [API/SHELL] 디스크 복사 및 포맷... (2)
Programming/Win32 API2007/03/02 12:29

[API/SHELL] 디스크 복사 및 포맷...

원본 : http://www.debuglab.com/knowledge/diskcopy.html

1.요약

윈도즈에서 제공하는 디스크 복사 및 포맷기능을 호출하는 방법을 소개드리겠습니다.


2.본문

디스크 포맷 기능을 하는 API함수가 존재하는데 이건 Undocument된 내용으로 MSDN에 나오지않고 헤더에도 선언되어있지 않습니다.

함수 Prototype을 선언하면 사용할 수 있습니다.

// SHFormatDrive() undocumented Windows API function 

extern "C" DWORD WINAPI SHFormatDrive(HWND hwnd, UINT drive, UINT fmtID, UINT options); 

디스크 복사 기능은 Diskcopy.dll의 DiskCopyRunDll()함수를 호출하면 됩니다.


3.예제

// 디스크 포맷 

extern "C" DWORD WINAPI SHFormatDrive(HWND hwnd, UINT drive, UINT fmtID, UINT options); 

::SHFormatDrive(m_hWnd, nDrive, -1, 0);







//디스크 복사 

void RunDll(HWND hWnd, LPCTSTR pszDllName, LPCTSTR pszFunc, LPCTSTR pszCmdLine) 

{ 

    void (__stdcall *pFunction)(HWND, HINSTANCE, LPTSTR, int); 

    HINSTANCE hLib; 

    

    hLib = ::LoadLibrary(pszDllName); 

    if (!hLib) 

    { 

        char pszMsg[256]; 

        sprintf(pszMsg, "%s 파일 로드 중 오류가 발생하였습니다.", pszDllName); 

        ::MessageBox(hWnd, pszMsg, _T("오류"), MB_ICONERROR); 

        return; 

    } 

    pFunction = (void (__stdcall*)(HWND, HINSTANCE, LPTSTR, int))

                        (GetProcAddress(hLib, pszFunc)); 

    if (pFunction) 

        pFunction(hWnd, hLib, (LPTSTR)pszCmdLine, SW_SHOW); 

    else 

    { 

        char pszMsg[256]; 

        sprintf(pszMsg, "%s에서 오류가 발생하였습니다.\n%s 항목을 찾을 수 없습니다.", 

            pszDllName, pszFunc); 

        ::MessageBox(hWnd, pszMsg, _T("오류"), MB_ICONERROR); 

    } 

    ::FreeLibrary(hLib); 

} 



void SHCopyDrive(HWND hWnd) 

{ 

    ::RunDll(hWnd, "Diskcopy.dll", "DiskCopyRunDll"); 

} 



- 2001.08.13 Smile Seo -

"Win32 API" 카테고리의 다른 글
  • FTP 로 파일 전송하기 (0)2007/03/15
  • [API/SHELL] 프로그램 추가 삭제 / 원도 구성 요소... (0)2007/03/02
  • [API/SHELL] 디스크 복사 및 포맷... (2)2007/03/02
  • 특정 파일의 Property 창 띄우기 (0)2007/03/01
  • 프로그램 한번만 실행하기 (0)2007/03/01
2007/03/02 12:29 2007/03/02 12:29
Posted by webdizen
Tags 디스크 복사, 디스크 포멧
No Trackback 2 Comments

Trackback URL : http://www.webdizen.net/blog/trackback/2671

Leave your greetings.

  1. 남정현

    음... DiskCopyRunDll API는 구글을 통해서 쭉 검색해보니 시그니처가 아예 없는게 아니었더군요. 닷넷 프레임워크 P/Invoke로 호출했을 때 계속 PInvokeStackImbalance MDA 에러가 떨어져서 일본 웹을 검색해보니 string 인자 4개를 받게 되어있더군요. ㅎㅎ

    블로그에 있는 글 잘 보고 갑니다. :-)

    2007/08/05 16:27 [ Permalink : Modify/Delete : Reply ]
  2. webdizen

    아! .NET에서는 그런식으로 구현이 되어있군요. 좋은 정보 감사합니다. ^^

    2007/08/07 00:04 [ Permalink : Modify/Delete : Reply ]
[로그인][오픈아이디란?]

«Prev  1  Next»

RSS HanRSS
Blog Image
webdizen
이곳은 컴퓨터에 대해 연구하고, 공유하고, 소통하기 위한 연구실입니다. 개인적으로는 OLAP, Data Mining, Semantic Web, Data Modeling에 대해서 연구하고 있습니다.

Categories

전체 (3009)
Webdizen (141)
Life (6)
Diary (16)
Blog (9)
IDEA (2)
Travel (10)
Book (16)
Photo (7)
Movie (8)
Music (14)
Leisure Sports (10)
Funny (6)
Hardware (121)
Software (120)
Windows (5)
Unix & Linux (120)
Installation (5)
Kernel (10)
System (34)
Develop (22)
X-Window (0)
Applicaton (31)
Security (4)
Framework (2)
Hadoop (2)
Programming (804)
Algorithm & Data Structure (1)
Assembly (38)
UNIX/Linux C (95)
C++ (128)
STL (4)
Java (38)
Win32 API (92)
ATL/COM (44)
MFC (151)
.NET (26)
WCF/WPF (4)
C# (28)
Network Programming (17)
Database Programming (12)
OpenGL / DirectX (13)
Multimedia Programming (0)
Game Programming (21)
Parallel Distributed Progra... (0)
Reverse Engineering (0)
Debugging (9)
Python (1)
Ruby (1)
Ruby on Rails (1)
QT (4)
GTK (0)
JSP (0)
PHP (6)
ASP.NET (6)
ASP (2)
Development (28)
Useful Library (2)
Data Modeling (0)
Database (105)
Oracle (4)
MSSQL (41)
MySQL (2)
Data Warehouse (2)
Data Mining (4)
Network (66)
Web (79)
DHTML (4)
XHTML (1)
Javascript (1)
CSS (1)
AJAX (9)
XML (11)
Flex (1)
Silverlight (3)
Security (91)
DoS (1)
Kernel (10)
Scanning (3)
Sniffing (0)
Spoofing (4)
Overflow (28)
Web (11)
Shell (10)
Format String (14)
Window (2)
Embedded (70)
Multimedia (27)
Mobile (14)
Graphic (24)
Management (633)
Knowledge (581)
Hadoop (0)

Notice

  • 메타 블로그 사이트에 등록
  • 새해 맞이 블로그의 변화
  • 블로그 명칭 변경
  • 도메인(www.webdizen.net) 구...
  • TEXTCUBE 1.6.1로 업그레이드...

Tags

  • 분산 프로세스
  • Miscellaneous
  • fprintf
  • semantic
  • Memory
  • 시스템 공격
  • DOM
  • process scheduling
  • 제로브드XE
  • Multi-Rank
  • 시스템 사양
  • Networking
  • Huffman
  • ADFS
  • Cataloging
  • 감정이입
  • 양방향 트랜잭션 복제
  • 비전
  • ODBC
  • 프로세스 복사본

Recent Articles

  • 트위터(Twitter)의 시작!.
  • 청년 리더의 조건.
  • 애플의 타블렛 PC - 아이패드....
  • 미래의 인터페이스 - 육감 기....
  • 기초발성법 동영상 강좌.

Recent Comments

  • 경청... 너무나 중요한데.......
    webdizen 14:59
  • 학교 과제물중 쓰레드에 대하....
    장진혁 03/17
  • 관리자만 볼 수 있는 댓글입....
    비밀방문자 03/12
  • 상대방의 이야기를 열심히 경....
    DoNuts 03/03
  • 좋은글 잘 보고 갑니다..
    Und_hacker 01/08

Recent Trackbacks

  • printf,scanf를 이용한 형식....
    yundream의 프로그래밍 이야기 03/10
  • 파일 열기/저장하기 CFileDialog.
    은마군의 나태블록 2009
  • World IT Show 2008.
    상우 :: Oranzie's BLOG 2008
  • cvs서버 설치하기.
    3인3색 2008
  • 속속 공개되는 Google Chart....
    PHP와 Web 2.0 2007

Archive

  • 2010/02 (1)
  • 2010/01 (6)
  • 2009/12 (5)
  • 2009/09 (3)
  • 2009/08 (1)

Calendar

«   2010/03   »
일 월 화 수 목 금 토
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Bookmarks

    • Administration
      • IIS.NET
      • NTFAQ
      • OS의 모든 것
      • 리눅스포털
    • Database
      • SQL Server Central
      • SQL Team
    • Development
      • .NET Heaven
      • ASP Alliance
      • ASP.NET 2.0
      • Bullog.net
      • C# Corner
      • C++ (C PlusPlus.com)
      • C++ Reference
      • CodeGuru
      • CodePlex
      • DebugLab
      • Dev Articles
      • Devpia
      • DotNet Junkies
      • DotNet Zone
      • Driver Online
      • GOSU.NET
      • HOONS 닷넷
      • Joinc 팀블로그
      • KOSR
      • MSDN Home Page
      • OSR Online
      • Sky.ph - 개발자 커뮤니...
      • TAEYO.NET
      • The Code Project
      • WindowsClient.net
      • 김상욱의 개발자 Side
      • 조인시 위키
    • Human Networks
      • belief21c's e-space
      • I think I can
      • Invisible Rover's Blog :D
      • Polarux - Linuxing
      • Rodman®
      • 까만 나비
      • 나를 가꾸는 시간.
      • 단녕
      • 상우 :: Oranzie's BLOG
    • Information Technology
      • Microsoft TechNet
      • 지디넷코리아 - 글로벌...
    • Security
      • FoundStone
      • milw0rm
      • NewOrder
      • OpenRCE
      • Phrack.org
      • Reverse Engineering b1...
      • Reverse Engineering Team
      • RootKit
      • SecurityFocus
      • SecurityXploded by Nag...
      • Wow Hacker
      • Zone-H
Textcube
Louice Studio Inc.
Powered by Textcube. Original designed by Tistory.