選択されたフォルダが書込み可能かを知る方法 – プログラミング – Home

選択されたフォルダが書込み可能かを知る...
 
通知
すべてクリア

選択されたフォルダが書込み可能かを知る方法


b_sandal
 b_sandal
(@b_sandal)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

VC初心者です。よろしくお願いします。
ファイル出力で複数のファイルを出力させる手段としてフォルダを指定させようとしています。
処理の流れは以下です。

1)フルダ参照ダイアログ(SHBrowseForFolder)のAPIを使っています。
2)このAPIから得たフォルダに書込みを行う場合に書けるかどうか
  を判断する為に、(GetFileAttributes)を使用しています。

しかし、ここから書込み可能かどうかの判定の仕方がわかりません。
(単に、FILE_ATTRIBUTE_HIDDENとの論理和ではうまくいきません)

いい方法を知っている方、ご教授ねがいます。


引用解決済
トピックタグ
b_sandal
 b_sandal
(@b_sandal)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

間違えました、FILE_ATTRIBUTE_READONLYとの論理和でうまくいきません。です。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

GetFileAttributes()を使えば取得できるはずですが、
どのようにうまくいかないのでしょうか?

GetFileAttributes()がエラー(-1)を返しているのであれば、
GetLastError()でエラーコードを調べてください。


返信引用
YuO
 YuO
(@YuO)
ゲスト
結合: 24年前
投稿: 252
 

see)
http://rararahp.cool.ne.jp/cgi-bin/lng/lng.htm
http://www.mtakahashi.com/cgi.cgi?07086
http://forums.belution.com/ja/vc/000/108/67.shtml
ってところですか。

たぶん,最初の項目を見ていないだろうから……。


返信引用
b_sandal
 b_sandal
(@b_sandal)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

ご迷惑おかけしてすみません。急ぎ(バグ回収)なもので。
結果はお知らせします。

c:\System Volume Infomation を選択時にエラーメッセージにしたいのですが、
これで引っ掛けられないのです。

if(fa & FILE_ATTRIBUTE_READONLY)  return(1); //書込み禁止

因みに、ダミーファイルを書き込んでみたところ、APが落ちてしまい
うまくいきませんでした。(Win2000です。)


返信引用
渋木宏明(ひどり)
 渋木宏明(ひどり)
(@渋木宏明(ひどり))
ゲスト
結合: 22年前
投稿: 196
 

DOS/Windows の場合、ディレクトリの ReadOnly 属性が有効でも、ファイルやサブディ
レクトリの作成を行うことが出来てしまったと思います。

この仕様を悪用?して、w95 あたりからのシェルは「ReadOnly 属性が有効で
desktop.ini を格納するフォルダ」に対して特別な機能を実現していたりします。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

System Volume Infomationは、システムファイルなので、
通常は読取専用になったりしないと思うのですが、
System Volume Infomationが読取専用であるという事実を
何か別の方法で確認していらっしゃるのでしょうか?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました