🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.visualbasic
Article #180

Re: フロッピーディスクのフォーマット

#180
From: Syuuichi Ueki
Date: Thu, 16 Apr 1998 00:00
43 lines
2645 bytes
松下昌平 wrote in message <01bd68de$ac94c020$10b59fd2@nhs-jpnjade>...
>VB5.0を使ってWindowsNT上でフロッピーディスクをフォーマットす
>る処理をアプリケーションに組み込もうとしています。プログラム上でファイルマ
>ネージャを操作して処理を行うと、どうしてもユーザーの不用意な操作によるエラ
>ー対策が完全には出来ません。他の方法を教えて下さい。ちなみに今はファイルマ
>ネージャをShell関数で起動して、Sendkeysを使ってフォーマットウ
>ィンドウを呼び出す方式をとっています。
>

植木と申します。
私は以下のようにしています。(SHFormatDrive APIを使います)

Public Declare Function SHFormatDrive Lib "SHELL32" _
                        (ByVal hWnd&, ByVal Drive&, _
                        ByVal fmtID&, ByVal opt&) As Long
Public Const SHFMT_ID_DEFAULT  As Long = -1
Public Const SHFMT_OPT_QUICK   As Long = 0     ''ドライブのクイックフォーマット
Public Const SHFMT_OPT_FULL    As Long = 1     ''ドライブのフルフォーマット
Public Const SHFMT_OPT_SYSONLY As Long = 2
Public Const SHFMT_ERROR       As Long = -1
Public Const SHFMT_CANCEL      As Long = -2
Public Const SHFMT_NOFORMAT    As Long = -3

Public Sub Dsk_FormatFD(ByRef strDrvName As String)
    On Error Resume Next
    Dim lngRet  As Long
    Dim strDrv  As String
    Dim lngDrv  As Long
    strDrv = UCase$(Left$(strDrvName, 1))   ''ドライブ名(先頭1文字有効)
    lngDrv = CLng(Asc(strDrv) - Asc("A"))   ''ドライブを示す数字(A=0)
    ''ディスクフォーマット
    ''【引 数】
    ''  hWnd&   : ウィンドウのハンドル
    ''  Drive&  : ドライブを示す数字(A=0,B=1..)
    ''  fmtID&  : 0
    ''  opt&    : SHFMT_OPT_xxx
    ''【戻り値】
    ''【備 考】
    ''  非公開関数なので詳しいことは不明
    lngRet = SHFormatDrive(CLng(0), lngDrv, CLng(0), SHFMT_OPT_FULL)
End Sub
これで、Call Dsk_FormatFD("A") と呼び出せば行けるでしょう。
Technical Details
Message-ID: <6h431g$it9@server1.seafolk.ne.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <01bd68de$ac94c020$10b59fd2@nhs-jpnjade>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 105c2e,55d9b6d9d9d95c3b
X-Google-Attributes: gid105c2e,public
From: "Syuuichi Ueki" <kita-002@seafolk.ne.jp>
Subject: Re: フロッピーディスクのフォーマット
Date: 1998/04/16
Message-ID: <6h431g$it9@server1.seafolk.ne.jp>
X-Deja-AN: 344554320
Content-Transfer-Encoding: 7bit
References: <01bd68de$ac94c020$10b59fd2@nhs-jpnjade>
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-2022-jp"
X-MimeOLE: Produced By Microsoft MimeOLE V4.71.1712.3
Organization: seafolk (TIS SYSTEM SERVICE)
Newsgroups: fj.lang.visualbasic