(1) Delphi IDE'de CTRL + SHIFT + G tuşuna basarsan sana bir GUID üretir onu kullanabilirsin. Şimdi ürettim ['{64DACF41-20EC-4ADE-9CB0-73F177DDE994}'] verdi.
(2) Anaform dışında ikinci bir form oluşturup bunun caption'una bu ismi veriyorum. (Formun görünür olması şart değil boş bir form sonuçta)
(3) Projenin DPR dosyasında önce FindWindow ile bu captiona sahip bir Handle var mı diye kontrol ediyorum.
(4) Varsa bunun application handleini foreground ediyorum
Bu kadar basit.
Örnek Hazırladım...
Kod: Tümünü seç
Var
aHandle : HWND;
begin
aHandle := FindWindow(Nil, PChar('{64DACF41-20EC-4ADE-9CB0-73F177DDE994}'));
if aHandle <> 0 then
begin
MessageDlg('Yazılımı Halen Çalışmaktadır.', mtWarning, [mbOk], 0 );
if IsIconic(aHandle)
then ShowWindow(aHandle, SW_RESTORE)
else if IsIconic(GetWindow(aHandle, GW_OWNER))
then ShowWindow(GetWindow(aHandle, GW_OWNER), SW_RESTORE)
else BringWindowToTop(aHandle);
end else begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
end;
end.