Programın 1 tane çalışması..
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Programın 1 tane çalışması..
abi öyle yaptımda şimdi adam "project1.exe" olarak açıyo ondan sonra ismini "project2.exe" yapıyo yine açıyo ??
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Programın 1 tane çalışması..
Tam olarak nasıl bir deneme yaptığınızı bilemiyorum amaşeklinde deneme yaptığınızı varsayıyorum. Bu noktada biraz zihin jimnastiği yaparak kendinizden katkıda bulunabilirsiniz. Mesela programınıza özel sabit bir değer belirleyip bunu verebilirsiniz. gibi sabit bir değer olabilir.
Kod: Tümünü seç
ExeName := ExtractFileName(Application.ExeName)
Kod: Tümünü seç
ExeName := 'AjandaProgramimBenim';
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Programın 1 tane çalışması..
CreateMutex ile oluşturduğunuz programa bir isim verirsiniz, OpenMutex ile çalıştırmadan önce bu ismin Mutex listesinde olup olmadığını kontrol edersiniz. Böylece programın ikinci kere çalıştırılması imkansız hale gelir.
Basit bir örnek vermek gerekirse :
Kaynak : http://www.ibrtses.com/delphi/singleinstance.html

Basit bir örnek vermek gerekirse :
Kod: Tümünü seç
program MyApp;
uses
Windows,Forms,
MyApp1 in 'MyApp1.pas' {Form1};
var
Mutex : THandle;
{$R *.RES}
begin
Mutex := CreateMutex(nil, True, 'MyAppName');
if (Mutex <> 0) and (GetLastError = 0) then
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
if Mutex <> 0 then
CloseHandle(Mutex);
end;
end.