テキストファイルを排他モードで開くには?

解決


tama  2003-08-21 19:09:41  No: 51958

Aプログラムでテキストファイルを排他モードで開き、
Bプログラムがそのテキストファイルを開く時、排他がとけるまで
Bプログラムは待機したいと考えております。

何か良い方法はないのでしょうか?

排他でなくともBプログラムがそのテキストファイルを開く時にエラーが
帰ってくれば良いのですが。。

fopen関数などやってみたのですが、不可能のようでした。

よろしくお願い致します。


tama  2003-08-21 19:28:21  No: 51959

CreateFileでできました^^
お騒がせしましてすみません。。


tama  2003-08-21 20:06:41  No: 51960

やっぱりCreateFileでは同じプロセス内でしか排他チェックできませんでした;;
すみません。。
あらためてどなたか知ってる方がいれば教えていただけないでしょうか?

(解決印を付けてしまったので見てもらえないかもしれませんが;;)

スレッドを荒らしてしまって申し訳ありません。。
よろしくお願い致します。


DMA  2003-08-21 21:55:51  No: 51961

プロセス間でも排他できるはずですが。
できないと判断した理由は?


tama  2003-08-21 22:10:27  No: 51962

レスありがとうございます!
> できないと判断した理由は?
下記ソースでEXEを2つ作ってみて起動してみました。
引数に誤りがあるのでしょうか。。

if(INVALID_HANDLE_VALUE == (hFile = CreateFile(LogPath, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL)))
{
     printf("開けないので排他がかかっています");
}

CloseHandle(hFile);


tama  2003-08-21 22:48:05  No: 51963

重ね重ねすみません。。やっぱりCreateFileでできました。
DMAさんご迷惑をおかけしました;;
ありがとうございした。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加