Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

ÖNEMLİ AÇIKLAMA: MUTLAKA OKUYUNUZ!

Gönderen Konu: Program Bir Kere Çalışsın  (Okunma sayısı 3253 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Mikdad

  • Kıdemli Üye
  • *****
  • İleti: 150
  • Rep: +2/-2
  • Cinsiyet: Bay
    • http://www.mikdad.net
Program Bir Kere Çalışsın
« : 10 Kasım 2005 09:34:30 »
Aşağıdaki prosedür yazdığınız programın her windows oturumunda yalnız birkez çalışmasını sağlar. Programı aynı windows oturumunda ikinci kez çalıştırdığınızda program değişkenine gireceğiniz mesajı vererek sonlanacaktır...

Kod: [Seç]
procedure RunOnceForEveryWindowsSession( MessageStr : String );
var
My_Atom : Integer;
begin
  if GlobalFindAtom( 'Buraya_Birseyler_Yazin' ) = 0 then
    My_Atom := GlobalAddAtom('Buraya_Birseyler_Yazin')
  else
  begin
    ShowMessage( MessageStr );
    Application.Terminate;
  end;
end;
Prosedürde GlobalFindAtom ve GlobalAddAtom rutinleri yardımı ile aranacak ve eklenecek ifade aynı olmalıdır. Ben (Buraya_Birseyler_Yazin) dedim siz başka birşey yazabilirsiniz.
Örneğin bu prosedürü aşağıdaki gibi programınızın ana formunun OnShow Eventine eklerseniz programınız o anki windows oturumunda bir kez normal olarak çalışacak fakat ikinci çalıştırma denemesinde girilen mesajı verip sonlanacaktır..

Kod: [Seç]
procedure TForm1.FormShow(Sender: TObject);
begin
RunOnceForEveryWindowsSession( 'Bu program' + ' Her Windows Oturumunda'+ #13#10 + 'Yalnız Bir kez Çalışır...' );
end;

« Son Düzenleme: 10 Kasım 2005 17:39:04 by Fatih »
Hiç KiMSe VaZGeÇiLMeZ DeĞiLDiR
WwW.Minikhost.Net    Host Dünyasında Yeni Bir Soluk
WwW.Mikdad.Net        İslami İçerikli Portalınız
WwW.Pckahvesi.com   Netteki Yeni Adresiniz

Çevrimdışı selchuk

  • Kıdemli Üye
  • *****
  • İleti: 266
  • Rep: +0/-0
  • Cinsiyet: Bay
    • Arma Ticari Sistem
Ynt: Program Bir Kere Çalışsın
« Yanıtla #1 : 10 Ocak 2010 01:51:15 »
Dostum benzeri bir sorunum var yardımcı olabilirmisin?

Her windows oturumunda değilde, program 1 kez açıkken 2. kez açılmamasını nasıl sağlayabiliriz?


Knowledge is power (Bilgi Güçtür)

Çevrimdışı sabanakman

  • Global Moderatör
  • *****
  • İleti: 769
  • Rep: +13/-0
  • Cinsiyet: Bay
Ynt: Program Bir Kere Çalışsın
« Yanıtla #2 : 10 Ocak 2010 13:24:29 »
Cevap yukarıda zaten :-X . Orada anlatılanlar .exe sistemde açıksa 2. kere açılmamasını sağlıyor zaten. Siz öncelikle bunları uygulayın çalıştığını göreceksiniz. Eğer bir sıkıntı yaşarsanız o noktada sorunuzu sorabilirsiniz.
« Son Düzenleme: 10 Ocak 2010 13:25:35 by sabanakman »
Şaban Şahin AKMAN

Derin olan kuyu değil kısa olan iptir

Çevrimdışı selchuk

  • Kıdemli Üye
  • *****
  • İleti: 266
  • Rep: +0/-0
  • Cinsiyet: Bay
    • Arma Ticari Sistem
Ynt: Program Bir Kere Çalışsın
« Yanıtla #3 : 10 Ocak 2010 20:10:34 »
Hocam kodları birebir uyguladım.

Exe bir kez çalışıp çıkıldığında ikinci defa çalışmıyor. Windows oturumunu yeniden başlatmak gerekiyor.

Benim istediğim ise Exe çalışır durumdayken tekrar çalıştırılmak istenirse çalışmasın fakat exe programdan çıkıldıktan sonra yeniden girilebilsin. Yani aynı anda bir kez çalışsın.

Bu konuda yardımcı olabilirmisiniz?

Saygılar, Teşekkürler.
Knowledge is power (Bilgi Güçtür)

Çevrimdışı sabanakman

  • Global Moderatör
  • *****
  • İleti: 769
  • Rep: +13/-0
  • Cinsiyet: Bay
Ynt: Program Bir Kere Çalışsın
« Yanıtla #4 : 12 Ocak 2010 15:04:13 »
Kodların o kadar derin olduğunu tahmşn etmemiştim :oops: . İsterseniz bir de http://www.delphiturkiye.com/forum/viewtopic.php?f=19&t=20130 adresindeki makaleyi inceleyin. Faydası olabilir.
Şaban Şahin AKMAN

Derin olan kuyu değil kısa olan iptir