- PR -

フロッピの書込み禁止の確認について

投稿者投稿内容
beijing.xk
会議室デビュー日: 2006/02/13
投稿数: 14
投稿日時: 2006-02-17 10:15
薛と申します。
現在参加するプロジェクトにフロッピは書込み禁止(Write Protect)であるかどうか確認するロジックを作ってるですが、まだいい方法は見つかりませんでした。

vb.Netとして、フロッピは書込み禁止であるかどうか確認ですか?もし、C#、J#でも方法があれば、教えでいただきたいです。

見つけた方法:
フロッピにデータ書込み時、エラーの内容見て書き込み禁止かどうか判断する方法がありますが、但し、Windowsのシステムダイアログを表示されて、コントロールできません。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-17 10:29
引用:

beijing.xkさんの書き込み (2006-02-17 10:15) より:

フロッピにデータ書込み時、エラーの内容見て書き込み禁止かどうか判断する方法がありますが、但し、Windowsのシステムダイアログを表示されて、コントロールできません。


それでいいと思いますけどね。
Windows 標準のダイアログを出すのが親切だと思います。

API を使う場合でも GetLastError などで判断する以外方法がなかったように思えます。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
うちうせん
ベテラン
会議室デビュー日: 2003/08/08
投稿数: 96
お住まい・勤務地: 福岡県
投稿日時: 2006-02-17 10:43
手元にFDが内ので試してませんが、書き込みモードで開くときに何らかのExceptionが発生するんじゃなかったでしたっけ?
エラー表示をWindowsにさせたくなければ、tryで拾ってあげるといいですよ。
Exceptionでなかったらごめんなさい・・・
_________________
by うちうせん
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-17 10:55
引用:

しゅうさんの書き込み (2006-02-17 10:43) より:

手元にFDが内ので試してませんが、書き込みモードで開くときに何らかのExceptionが発生するんじゃなかったでしたっけ?


System.IO.IOException (WinIOError) が発生しますよ。

引用:

エラー表示をWindowsにさせたくなければ、tryで拾ってあげるといいですよ。
Exceptionでなかったらごめんなさい・・・


ただその前にシステム モーダルなダイアログが出現しちゃいますけどね。(^^)
それを問題にしているんだと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
beijing.xk
会議室デビュー日: 2006/02/13
投稿数: 14
投稿日時: 2006-02-17 11:07
ご回答をありがとうございます。もうちょっとWindowsAPIの方を調査してみます。

じゃんぬねっとさん言ったとおり、TryCatchしても、その前でWindowsのダイアログを出できましたので、困っています。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-17 11:16
引用:

beijing.xkさんの書き込み (2006-02-17 11:07) より:

じゃんぬねっとさん言ったとおり、TryCatchしても、その前でWindowsのダイアログを出できましたので、困っています。


ところで、どのみち「ライトプロテクト」であることは通知するんですよね?
Windows 標準のシステム ダイアログだとどういった不都合がありますか?
システム モーダルになるのがイヤなんでしょうか?
描画されないのがイヤという問題であれば、別スレッドで行うことで回避できますが。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
beijing.xk
会議室デビュー日: 2006/02/13
投稿数: 14
投稿日時: 2006-02-17 11:23
Windowsのダイアログが三つ選択ができます。キャンセル、再試行、続行。その中に、再試行は問題ないと思います。続行がExceptionが発生するので判断できます。但し、キャンセルがExceptionが発生しない、成功したかどうか判断できませんでしょうか?後、今の仕様と一致しないので、まだお客様と確認しなければなりません。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-17 11:26
引用:

beijing.xkさんの書き込み (2006-02-17 11:23) より:

但し、キャンセルがExceptionが発生しない、成功したかどうか判断できませんでしょうか?


キャンセルでも IOException が発生するはずですよ。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)