指定したファイルが開かれているのかを知る方法・? – プログラミング – Home

指定したファイルが開かれているのかを知...
 
通知
すべてクリア

指定したファイルが開かれているのかを知る方法・?


MIYUKI
 MIYUKI
(@MIYUKI)
ゲスト
結合: 24年前
投稿: 5
Topic starter  

MIYUKIと申します。お久しぶりですぅ!
バイナリファイルからテキストファイルへの変換ツールを作ってます。
環境はWINDOWS2000、VC++6,0、MFCのダイアログベース。
バイナリ→テキストへの変換を無事終了して、最後に
InFile.Close();
OutFile.Close();
}
if(Ans == IDYES){ //上の処理で「処理後自動的に開きますか?」
           //というダイアログ表示。そのアンサー
ShellExecute(NULL,open, filetxt, NULL, NULL, SW_SHOWNORMAL);
 }
 ・
 ・
という処理を加えて自動的にテキストファイルを開けるようにしてます。
このテキストファイルを開いたまま(表示したまま)、また同じファイル名
を選んで処理出来てしまうのですが、上書きは出来ない(テキスト
を開いていなければ上書きされます。)で、テキストが増える一方・・・。
 指定したファイルが「只今開かれてます」っていうような関数って
あるのでしょうか? CFileException?ううぅん・・分らないのねぇ。。
恐らくファイルOPEN時にそのようなチェックが必要だと思うので、
ソースをちょっとだけ。
if(!OutFile.Open(filename,CFile::modeWrite | CFile::modeCreate)){
MessageBox(出力ファイルが作成出来ませんでした,Error,MB_ICONSTOP | MB_OK);
//バイナリファイルを選ばなかった場合などに表示します。
InFile.Close();
return;
}

どうかご教授の程、宜しくお願いします!! 


引用解決済
トピックタグ
ku
 ku
(@ku)
ゲスト
結合: 24年前
投稿: 312
 

僕はCFileはほとんど使わないんであれなんですが
if(!OutFile.Open(filename,CFile::modeWrite | CFile::modeCreate | CFile::shareDenyRead)){
こんな感じで良いのかなと思います

ヘルプのCFile::CFileの項目あたりを見て
CFile::share~というアクセスモードを確認するのが良いと思います


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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