ファイルが使用中かどうか調べる
|
3 |
FileInUse |
動作確認 |
Delphi2007 |
更新日 |
2007/08/24(金) |
ファイルが使用中かどうかを調べる関数です。
自分自身のファイル名 Application.ExeName を与えると
使用中の結果を返します。
────────────────────
{-------------------------------
// ファイルが使用中かどうかを調べる関数
備考:
参考: http://www.scalabium.com/faq/dct0066.htm
履歴: 2003/09/28
//------------------------------}
function FileInUse(FileName: string): Boolean;
var hFileRes: HFILE;
begin
Result := False;
if not FileExists(FileName) then exit;
hFileRes := CreateFile(
PChar(FileName), GENERIC_READ or GENERIC_WRITE, 0, nil,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
Result := (hFileRes = INVALID_HANDLE_VALUE);
if not Result then
CloseHandle(hFileRes);
end;
//テストコード
//Memo1.Lines.Add(BoolToStr(FileInUse(
// Application.ExeName), True));
//Memo1.Lines.Add(BoolToStr(FileInUse(
// ExtractFilePath(Application.ExeName)+'Unit1.pas'), True));
//------------------------------
参考────────────────────
http://www.scalabium.com/faq/dct0066.htm
|