ドライブが書き込み可能なWindowsAPI関数であるかどうかを確認します[閉じ

StackOverflow https://stackoverflow.com/questions/3646538

質問

こんにちは、ドライブが書かれている場合に戻るWindows API関数はありますか。ドライブがドライブの下で表示される場合がありますが、プログラム的に書き込もうとすると、ユーザーがOKボタンを押すまでアプリケーションをフリーズするMSGボックスエラーが提供されます。迷惑なエラーボックスなしでドライブが書き込み可能であるかどうかを確認する組み込みの機能はありますか?

私はすでにTryCopyを試してみましたが、同じmsgboxエラーを返します:(

ありがとう!

役に立ちましたか?

解決

電話してみてください SetErrorMode( SEM_FAILCRITICALERRORS) エラーメッセージボックスが表示されないようにします。

http://msdn.microsoft.com/en-us/library/ms680621(vs.85).aspx

他のヒント

Microsoft Scripting Runtimeへの参照を設定できます。

次のようなコードを使用できます。

Dim FSO as New FileSystemObject
Dim clsDrive as Scripting.Drive

Set clsDrive=FSO.GetDrive("C")

ドライブクラスにはフリースパースプロパティがあり、ドライブが書き込みできない場合はゼロになります。

さらに、Scripting.Folderクラスがあります。これは、FSO.getFolder()を使用して、属性プロパティを備えた型fileattributeのフラグで構成されるプロパティを備えています。次のようなコードを使用できます

clsFolder.Attributes And FileAttribute.Readonly err ... readonlyness ;-)を確認するには

電話 getVolumeInformation() そして確認してください FILE_READ_ONLY_VOLUME 返されたフラグパラメーター。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top