VB6のサンプルは簡単に見つかるのですが、VB.NETへの移植が出来ませんでした。
やりたいことはVB.NETからのリムーバブルメディアのフォーマットです。
可能であれば他の方法でも構いませんが、SHFormatDriveのようにダイアログが表示されるのはNGです。
プログラマーではないので、なるべくズバリ回答をお願いします。
環境がなく確認できてないので、間違ってたらすいません。
下記のように宣言してFormatExを呼び出すのではできないでしょうか?
<DllImport("FMIFS.dll")> _
Private Shared Function FormatEx _
(ByVal thePath As String, ByVal theFlag As Int32, ByVal theType As String, ByVal theLabel As String, ByVal theQuickOrNot As
Byte, ByVal theSize As Integer, ByVal theCallBack As FormatExCallBackDelegate)
End Function
ご回答ありがとうございます。
私も以下のページを参考に同じ宣言を試しましたが、正しい結果は得られませんでした。
↓
http://bytes.com/groups/net-vb/350924-formatex-function
一見、FormatEXを呼び出しているように見えるのですが、CallBackされるCommandは
「Done」が一回のみ。フォーマットも実行されません。
<DllImport("FMIFS.dll")> _
Private Shared Function FormatEx _
(ByVal thePath As String, ByVal theFlag As Int32, ByVal theType As String, ByVal theLabel As String, ByVal theQuickOrNot As
Byte, ByVal theSize As Integer, ByVal theCallBack As FormatExCallBackDelegate)
End Function
Delegate Function FormatExCallBackDelegate _
(ByVal theCommand As FormatCommand, ByVal theSubAction As
Int32, ByVal theAction As IntPtr) As Boolean
Function FormatExCallBack(ByVal theCommand As FormatCommand, ByVal
theSubAction As Int32, ByVal theAction As IntPtr) As Boolean