标题:使用API格式化磁盘!请小心使用
只看楼主
非虫
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:99
专家分:171
注 册:2008-10-4
结帖率:100%
 问题点数:0 回复次数:3 
使用API格式化磁盘!请小心使用
我2001版的MSDN中没有这个API,
SHFormatDrive    PROTO    hwnd:HWND,drive:UINT,fmtID:UINT,options:UINT
;1、Hwnd:窗口所有者的句柄   
;2、Drive:所有格式化的对象:0指a驱;1指b驱;2指c盘...   
;3、Size:暂时无用     
;4、options:   
SHFMT_OPT_QUICKFORMAT  equ 0   ;快速格式化
SHFMT_OPT_FULL         equ 1   ;全面格式化
SHFMT_OPT_SYSONLY      equ 2   ;格式化时传送系统 sys a(b,c)

源码如下:

;程序只能在Windows XP SP2以上系统使用!!
.386
.model flat, stdcall  ;32 bit memory model
option casemap :none  ;case sensitive

include FormatUseAPI.inc
include    macros.asm
include    rsrc.inc


DlgProc            PROTO    :HWND,:UINT,:WPARAM,:LPARAM
SHFormatDrive    PROTO    hwnd:HWND,drive:UINT,fmtID:UINT,options:UINT
;1、Hwnd:窗口所有者的句柄   
;2、Drive:所有格式化的对象:0指a驱;1指b驱;2指c盘...   
;3、Size:暂时无用     
;4、options:   
SHFMT_OPT_QUICKFORMAT  equ 0   ;快速格式化
SHFMT_OPT_FULL         equ 1   ;全面格式化
SHFMT_OPT_SYSONLY      equ 2   ;格式化时传送系统 sys a(b,c)
        
.data


.data?
hInstance            dd ?


.code

;*******************    对话框回调函数   ***********************************************************
DlgProc proc hWnd:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM

    mov        eax,uMsg
    .if eax==WM_INITDIALOG
        
    .elseif eax==WM_COMMAND
        mov    eax,wParam
        movzx    eax,ax
        .if        eax == IDC_BTN1  ;小心使用!!
            invoke    SHFormatDrive,hWnd,2,0,SHFMT_OPT_QUICKFORMAT    ;快速格式化C盘
        .endif
        
    .elseif eax==WM_CLOSE
        invoke EndDialog,hWnd,0
        
    .else
        mov        eax,FALSE
        ret
    .endif
    mov        eax,TRUE
    ret

DlgProc endp

;*******************   程序从这里开始执行  ***********************************************************
start:

    invoke     GetModuleHandle,NULL
    mov        hInstance,eax

    invoke     InitCommonControls
    invoke     DialogBoxParam,hInstance,IDD_DIALOG1,NULL,addr DlgProc,NULL
    invoke     ExitProcess,0


end start


请大家小心使用!!否则因格式化磁盘造成的损失我不负任何责任!!

楼主转帖也麻烦!!我自己发了!

FormatUseAPI.rar (3.52 KB)
收到的鲜花
  • zklhp2009-08-05 21:58 送鲜花  50朵   附言:我很赞同
搜索更多相关主题的帖子: API 磁盘 格式化 
2009-08-05 16:18
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:0 
老大有好东西多多分享啊

又学到东西了~
2009-08-05 21:58
你们都要疼我哦
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:火星
等 级:贵宾
威 望:49
帖 子:1296
专家分:2746
注 册:2008-7-13
得分:0 
2005版的有
DWORD SHFormatDrive(HWND hwnd,
                    UINT drive,
                    UINT fmtID,
                    UINT options
 );

小妹,哥哥看你骨骼清奇,绝非凡人,将来必成大业,不如这样,你先把裤裤脱了,待哥哥为你开启灵窍,然后我们一起努力钻研如何
2009-08-06 01:44
春色三分
Rank: 2
等 级:论坛游民
帖 子:31
专家分:55
注 册:2009-7-23
得分:0 
我越来越喜欢win32了。

一不会;
二不做;
三不想。
本文来自: 电子工程师之家http://www.
2009-08-06 09:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-281664-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017672 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved