プログラミング初心者です、宜しくお願い致します。
以下2点ご教示下さい。
・ロギングアプリを作っています。データ・ロギングはランダムに実行しま す。
・ロギングファイルは、アプリ実行PC-HDDに保存します。
・ロギングファイルはTStringListを使って生成、保存しています。
・外部から(ネットワーク経由又は自PC内他アプリ)のロギングファイルへの
アクセスを随時ブロックしたり、ブロック解除したりしたいのですが。
・TFileStreamを使えば、排他制御が出来ることは判ったのですが、「既存」
のファイルに、「随時」鍵をかけたり外したりするのには向かないように思 います。
・又、このロギングファイルが他のアプリで使われているかどうかをチェック
する方法(実際アクセスしてしてみて例外が発生するか否かで知る方法以外)
は有るのでしょうか。
以上、宜しくお願い致します。
肝心なことを忘れていました。
・開発はDelphi2007 + Windows7(64)
・実行環境 Window7(32)です。
宜しくお願い致します。
アクセス権を色々なんとかすればいいような気もしますが知識がないので・・・
発想を変えて、保存時に暗号化するというのはどうでしょうか?
以前、この掲示板で他のプロセスがファイルを開いていないか
確認する方法を教わったときのソースです。
昔の環境では動くのですが最近の環境ではどうも正常に機能していないようです。
var
lh_Handle: THandle;
begin
lh_Handle := CreateFileW(
PWideChar(sFile), //ファイル名
GENERIC_READ, //アクセス権
0, //共有
nil, //セキュリティ属性
OPEN_EXISTING, //ファイルは存在する必要あり
0, //属性
0 //テンプレート
);
Result := (lh_Handle <> INVALID_HANDLE_VALUE);
CloseHandle(lh_Handle);
ここなどは参考にならないでしょうか?
http://10jitetsujin.blog.fc2.com/blog-entry-27.html
http://jehupc.exblog.jp/21616243
ツイート | ![]() |