Visual Basic'te nasıl oluyor bu? enjoy i'm vaccinated

Demek istediğin, Eğer photoshop. exe bir kere çalışsın başka çalışmasın ise, algoritması bu a. exe pid alınır. çalışan başka a. exe var mı kontrol edilir varsa hepsi yok edilir. 1 tane kalır o yok edilmediği sürece açılacak her yeni a. exe kapatılır. bu yeni mi eski mi PID e bakılarak ğrenilir. a. exe kapatıldığında PID değeri 0 lanır ilk açılan a. exe'nin PID değeri alınarak aynı işlemler yapılır. şuan delphi kurulu değil yoksa bi sınıf hazırlayıp rnek ile gsterirdim. inşallah kurunca devam ederiz. Ne zaman birşey ğrenmek istesem, Birden Vaktim Kalmıyor?

using System. Threading //Mutex nesnesini kullanabilmemiz için gerekli olan namespace static class Program { /// The main entry point for the application. static void Main { bool IlkProgram; //bool tipinde bir değişken oluşturuyoruz çünkü mutex nesnemiz true yada false değerinde ürettiği veriyi bu değişkende saklayacak. Mutex Mtx = new Mutex ; //Mutex nesnemizi oluşturuyoruz if Application. EnableVisualStyles ; Application. SetCompatibleTextRenderingDefault ;Application. Run(new MainForm ; GC. KeepAlive ; //Mutex Nesnesini bellekten kaldırıyoruz } }

Bunun için kullanılan genel yntem mutex nesnesi yaratmaktır, tek satırda hallolur. if (CreateMutex && GetLastError ERROR_ALREADY_EXISTS) return; Mesela sadece 1 kere çalışan basit bir C programı. #include <windows. h> #include <stdio. h> int main

Peki çalışan bir proğrama bir kere çalışssın nasıl yapabilriz.. Yapmadıklarınıza pişman olmaktansa, Yaptıklarınıza pişman olun... Yapın pişman olun, yada yapmayın yine pişman olun.

Bu olayı. net WPF'de nasıl uygularız bilen varsa analatabilirse sevinirim. sic mundus creatus est

Çok güzel hocam... Sanıyorum kendi ataszümü yaptım, kaynak belirterek kullanabilirsiniz. 10.05.2013 tarihli google arama sonucu : Aradığınız - "herşeyin hayırlısı rampanın bayırlısı" - ile ilgili hiçbir arama sonucu mevcut değil. Not : Syleyeni belli olduğu için ataszü değil, zlüsz oluyormuş, dolayısı ile kendi zlüszümü yapmış oldum :)

ncelikle şunu belirteyim. Yazımı Delphi programlama diline uygun bir şekilde anlatacam. Ama içerisinde temel mantık anlatılacağı için yararlı bir doküman olacağına inanıyorum. Evet arkadaşlar bir çok uygulamamızda programımızın aynı anda sadece bir kez çalışmasını isteyebiliriz. Bu işlemi yapabilmek için Windows sistemlerde değişik yntemler mevcut. Biz bu yazımızda GlobalAddAtom API'sini kullanacaz. GlobalAddAtom API'si windows'ta kernel32. dll dosyasında bulunur. Parametre olarak PansiString tipinde bir değişken alır. Bu değişken sistem belleğinde bir yerlerde kayıt olur. Normal yollarla bu alana erişim yapamadığımız için programa müdahele edemiyoruz. Ve bahsi geçen uygulama oturum açılmış sistemde sadece 1 defa çalışabiliyor. Peki bu sistem nasıl kullanabilir. Uygulamanızın ilk açılışında. Yani OnCreate olayında ncelikle program daha nce açılmış mı onu kontrol etmemiz gerekiyor. Bu kontrol olayını GlobalFindAtom API'si ile kontrol ediyoruz. GlobalFindAtom API'si Tıpkı GlobalAddAtom API'si gibi çalışır. Ve bir parametre alır. Bu parametre ile gelen PansiString tipindeki değişkeni sistem belleğinde arar. Eğer bulursa 0 dan farklı bir değer alır. Buda bu programın açık olduğunu gsterir. Ve uygulama çıkış işlemlerini başlatır gibi. Fakat sistem belleğine değişkeninizi aktardıktan sonra programı kapatsanız dahi bu kendi kendine silinmeyecektir. Bu yüzden onu formun onDestroy olayında hafızadan silmeliyiz. Bunuda GlobalDeleteAtom fonksiyonu ile yapıyoruz. Parametre olarak word tipinde bir değişken alıyor. O yüzden rnekteki kodları iyi inceleyin. Bu konuyu pekiştirmeniz amacı ile bir unit oluşturdum. Anlamadığınız kısımları veya bu eksik diyenler lütfen konu altında cevap yazın. Kullanım olarak;uses kısmına bu kütüphaneyi ekleyinGlobal değişkenler altınadegiskenIsmi:Tdupi; yazınOnCreate Olayına DegiskenIsmi. BirKereCalis ;OnDestroy Olayına DegiskenIsmi. YokEt;yazın hayırlı olsun :) unit birkereCalis; interface uses windows, dialogs; type TDupi = object private i:integer; public procedure BirKereCalis ; procedure YokEt; end; implementation procedure TDupi. BirKereCalis ; begin if GlobalFindAtom = 0 then i:=GlobalAddAtom else begin MessageDlg('Bu Uygulama Zaten Çalışıyor', mtWarning, ,0); halt; end; end; procedure TDupi. YokEt; begin GlobalDeleteAtom ; end; end. Ne zaman birşey ğrenmek istesem, Birden Vaktim Kalmıyor?

: Visual Basic'te nasıl oluyor bu? If App. PrevInstance = True Then End End If

Mutlaka bilen vardır. Mutex Olayına gelince; bir mutex oluşturdun. Program kapanınca Mutex kendi kendine yok oluyor mu? birde bunların genel hacklenmesi olayı var tabi birazda bunlara değinelim. benim programın hacklenmesi çok basit. OlyDbg ile string referanslarda bulursun EssizKelime yerine EssizKelime2 koyarsın. yeniden derlersin kırılır. Programı2 kere açabilirsin. Yada Mutexteki gibi 2 kere açık olduğu yeri syleyen kısmı bulursun bir kaç satır altta FN miydi uzun zamandır bakmadım. çıkış ile ilgili kısmı değiştirirsin uyarıyıda atladın mı bitmiştir. Ne zaman birşey ğrenmek istesem, Birden Vaktim Kalmıyor?