おはようございます。
例えばTest.exeというアプリケーションがすでに起動済だったとして
そのTest.exeが起動済か確認する方法はあるでしょうか。
(確認するexeはHantei.exe)
環境は
Delphi XE5 Enterprise
Windows 8.1 Pro 64bit
その実行ファイル 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
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;
ツイート | ![]() |