exe起動確認について

解決


ぴょん吉  2016-02-25 19:02:30  No: 47998

おはようございます。
例えばTest.exeというアプリケーションがすでに起動済だったとして
そのTest.exeが起動済か確認する方法はあるでしょうか。
(確認するexeはHantei.exe)

環境は
Delphi XE5 Enterprise
Windows 8.1 Pro 64bit


take  2016-02-25 19:16:44  No: 47999

その実行ファイル Hantei.exeが
自身のプログラム内で起動した物かどうかで回答が変わると思いますが

自身で起動した物ではないと仮定すると
WindowsVista以降のOSでは難しいのかも
※管理者権限の関係です。

同じような質問がこちら
https://www.petitmonte.com/bbs/answers?question_id=7153

起動中のプロセス一覧の取得のサンプルはMr.XRAYさんのページを参考に
http://mrxray.on.coocan.jp/Delphi/plSamples/330_AppProcessList.htm


ぴょん吉  2016-02-25 20:54:23  No: 48000

takeさん、アドバイスありがとうございます。
以下のコードをネットで見つけ、試したところ無事にできました。

  try
    objExcel := GetActiveOleObject('***.Application');
    IsOpen   := True;
  except
    on E: EOleSysError do begin
      IsOpen := False;
    end;
  end;

  if IsOpen then
  begin
    MessageBox(Handle, '×××は起動しています', '情報', MB_ICONINFORMATION);
  end
  else
  begin
    MessageBox(Handle, '×××は起動していません', '情報', MB_ICONINFORMATION);
  end;


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

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






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