ホーム >プログラム >Delphi 6 ローテクTips >Unicode対応の実行ファイル名を取得

uses
  ShellAPI;

CommandLineToArgvW はShellAPIユニットにあります。

function gfnsExeNameGet: WideString;
var
  lpp_WParam: PPWideChar;
  li_Count:   Integer;
begin
  lpp_WParam := CommandLineToArgvW(GetCommandLineW, li_Count);
  try
    Result := WideString(lpp_WParam^);
  finally
    LocalFree(Cardinal(lpp_WParam));
  end;
end;

GetCommandLineW の第一引数にはアプリケーションのフルパス名が入っています。
なのでこれをCommandLineToArgvWで分解してもらって第一引数だけをWideStringでキャストして取り出しています。


2008-12-19: