お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"実行中の自分自身を改名(NT/2000)"



みなさん、今日はいものこ汁だヤッホーなかとちんです。\(^0^)/
              /~~~~~~~~~~
奥さんは東北出身だから「いもに」と言ってますけど、関東の私からみると、
豚汁にしかみえない。(^-^;



ずいぶん昔('98年2月頃)に見つけたテクニック(Windowsのバグ?)です。
ちょうどnifty:FDELPHI/MES/08/12660 の質問を見て思い出して、個人蔵から
掘り起こしてきました。(^-^;

Delphi-IDE から実行しても駄目ですが、EXEファイル単体で実行すれば、自分
自身の終了時にファイル名を変えるというものです。
NT/2000でしか効果がありませんし、バグかなぁ。

var
  NewExeFileName: string = 'ほげほげ.exe';

procedure TForm1.FormDestroy(Sender: TObject);
var
  FileName: string;
begin
  //自動的に自身を変更
  if CompareText(ExtractFileName(Application.ExeName),
                 NewExeFileName) <> 0 then
  begin
    FileName := ExtractFilePath(Application.ExeName) + NewExeFileName;
    //以前に このルートを通って変換済みの古いファイルがあれば削除
    if FileExists(FileName) then DeleteFile(FileName);
    // 名称変更
    RenameFile(Application.ExeName, NewExeFileName);
  end;
end;



▲●    2001/01/18 18:23 JDX06162(とんちんかんちんかとちん)
 ■     Inprise Delphi ... The Great Development Kit
uses D2Desktop, D3CSS, D4CSS, D5ENT;
 



Original document by かとちん        氏 ID:(JDX06162)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum