Article View: fj.lang.visualbasic
Article #180Re: フロッピーディスクのフォーマット
From: Syuuichi Ueki
Date: Thu, 16 Apr 1998 00:00
Date: Thu, 16 Apr 1998 00:00
43 lines
2645 bytes
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-mailReferences:
<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