Код:
procedure TForm1.Button1Click(Sender: TObject);
var
RunFileName: PChar;
i: word;
H: hWnd;
begin
H:= FindWindow(ИМЯ ГЛАВНОЙ ФОРМЫ ПРИЛОЖЕНИЯ , = CAPTION ГЛАВНОЙ ФОРМЫ ПРИЛОЖЕНИЯ);
if H=0 then
begin
RunFileName:=PChar(ПОЛНЫЙ ПУТЬ К ФАЙЛУ, МОЖНО ЧЕРЕЗ OpenDialog);
i:=WinExec(RunFileName,SW_RESTORE);
Case i of
0: ShowMessage('Не хватает памяти или ресурсов');
ERROR_BAD_FORMAT: ShowMessage('Файл приложения не совместим с данной версией ОС либо поврежден');
ERROR_FILE_NOT_FOUND, ERROR_PATH_NOT_FOUND: ShowMessage('Файл приложения не найден');
end; // case
Application.Minimize;// Свернёмся, если запустили удачно
end
else ShowMessage('Приложение уже запущено!');
end;
в итоге в H мы имеем хандл, а в i - результат запуска