Eger program açıksa form2 göster

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
carsoft
Üye
Mesajlar: 138
Kayıt: 01 Ağu 2014 12:27

Eger program açıksa form2 göster

Mesaj gönderen carsoft »

Eğer program açıksa form2.show olayı nasıl yapabilirim çok denedim ama olmadı mesela

Kod: Tümünü seç

 function processExists(exeFileName: string): Boolean; 
var 
  ContinueLoop: BOOL; 
  FSnapshotHandle: THandle; 
  FProcessEntry32: TProcessEntry32; 
begin 
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 
  FProcessEntry32.dwSize := SizeOf(FProcessEntry32); 
  ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32); 
  Result := False; 
  while Integer(ContinueLoop) <> 0 do 
  begin 
    if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = 
      UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) = 
      UpperCase(ExeFileName))) then 
    begin 
      Result := True; 
    end; 
    ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); 
  end; 
  CloseHandle(FSnapshotHandle); 
end; 

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject); 
begin 
  if processExists('Project1.exe') then 
    ShowMessage('Program çalışıyor') 
  else 
    ShowMessage('çalışmıyor'); 
end;
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Eger program açıksa form2 göster

Mesaj gönderen brs »

Program çalıyorsa sayısal değer verir 0 veya 1 gibi...

Kod: Tümünü seç

procedure TMainForm.Button2Click(Sender: TObject);
var
  X: HWND;
begin
  X := FindWindow('notepad', nil);
  if X < 1 then
  begin
    PostMessage(X, WM_KEYDOWN, VK_RETURN, 0);
    PostMessage(X, WM_KEYUP, VK_RETURN, 0);
    Caption := IntToStr(X);
  end
  else
  begin
    Caption := '1';
  end;
end;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
anonymousdelphicoder
Üye
Mesajlar: 152
Kayıt: 16 May 2014 11:23

Re: Eger program açıksa form2 göster

Mesaj gönderen anonymousdelphicoder »

Neden yanlış bilgi veriyorsunuz program çalışıyorsa Handle numarası döner çalışmıyorsa 0 döner. Peki 0 döndü diyelim bütün programlar için 0 dönecek anlamına geliyor peki biz unique bir tutamaça sahip değilsek aradıgımız pencereye nasıl işlem yaptıracağız ??

Ayrıca verdiğiniz kodla notepad a yazdıramazsınız notepad in handle buldukdan sonra bir kez daha FindWindowEx ile bulunan Handle da 'Edit' class' ını aramanız gerekir.

İyi günler.
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Eger program açıksa form2 göster

Mesaj gönderen brs »

anonymousdelphicoder yazdı:Neden yanlış bilgi veriyorsunuz program çalışıyorsa Handle numarası döner çalışmıyorsa 0 döner. Peki 0 döndü diyelim bütün programlar için 0 dönecek anlamına geliyor peki biz unique bir tutamaça sahip değilsek aradıgımız pencereye nasıl işlem yaptıracağız ??

Ayrıca verdiğiniz kodla notepad a yazdıramazsınız notepad in handle buldukdan sonra bir kez daha FindWindowEx ile bulunan Handle da 'Edit' class' ını aramanız gerekir.

İyi günler.

Saygısızlık yapma yanlış anlamış olabilirim, ne diye yanlış bilgi vereyim.
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
anonymousdelphicoder
Üye
Mesajlar: 152
Kayıt: 16 May 2014 11:23

Re: Eger program açıksa form2 göster

Mesaj gönderen anonymousdelphicoder »

Tabi siz haklisiniz ben saygisiz oluyorum! Nerede gorulmus FindWindow un 0 donderince programin calistigini?? ustune laf carpitip beni ezmeye calisiyorsunuz oyleyse anlamadan cevap vermeyin yazdiklarinizi kontrol ediniz

kolay gelsin
Kullanıcı avatarı
hido
Üye
Mesajlar: 268
Kayıt: 29 Mar 2014 04:32

Re: Eger program açıksa form2 göster

Mesaj gönderen hido »

anonymousdelphicoder yazdı:Tabi siz haklisiniz ben saygisiz oluyorum! Nerede gorulmus FindWindow un 0 donderince programin calistigini?? ustune laf carpitip beni ezmeye calisiyorsunuz oyleyse anlamadan cevap vermeyin yazdiklarinizi kontrol ediniz

kolay gelsin

Sizler gibi bir kaç kişi yüzünden formun tanı kaçtı, brs arkadaşımız yardımcı olmaya çalışmış, yanlış da anlamış olabir, uslubunuz bence çok yanlış yetmemiş (anlamadan cevap vermeyin yazdiklarinizi kontrol ediniz) yazarak saçmalığınıza saçmalık katmışsınız...
carsoft
Üye
Mesajlar: 138
Kayıt: 01 Ağu 2014 12:27

Re: Eger program açıksa form2 göster

Mesaj gönderen carsoft »

Herkese teşekkür ederim ama arkadaşlar yardım edebilirmisiniz.
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Eger program açıksa form2 göster

Mesaj gönderen thelvaci »

Forumun tadını kaçıranlardan birisi olarak ben de müdahil olayım madem; @anonymousdelphicoder arkadaşım konuya cevap veren arkadaşımızı kırmak için yazmamış ancak o şekilde anlaşılmış sanırım. Bu anlayışta kırıcı bir üslup ile yanıta dönmüş, bu şekilde sohbet daha da kırıcı olmaktan öteye gidemez.

Gelgelelim söylenenlere; evet çözüm paylaşmaya çalışmanız, yardımcı olma gayretiniz takdire şayan ve asil bir davranış; lâkin paylaşılan çözümlerin de mümkün mertebe hatadan berheva olması gerekli; sunulan çözümü öğrenmeye nefretle bakan bir toplum olduğumuz için, hayatının sonuna kadar kopyala yapıştır ile kullanacak kardeşlerimiz olduğu için; en azından doğru bilgilendirmeye gayret etmemiz iyi olur. Bu bizler için de bilmediklerimizi öğrenmek için bir fırsat olabilir. Biraz daha özenle cevap vermeye çalışmak hepimize fayda sağlar.

Soruya gelince; soruyu soran arkadaşımıza bir sorum olacak; "sevgili kardeşim sen ne yapmaya çalışıyorsun ?". Sorduğun sorunun başlığından hiçbirşey anlaşılmıyor, benzer başlığa sahip iki ayrı konun var ve bir konunun altında çözüme ulaştığını anlıyoruz. Ardından da bu konu geliyor.. Bu da ne yapmak istediğine dair kafalarda soru işareti oluşturuyor.
carsoft
Üye
Mesajlar: 138
Kayıt: 01 Ağu 2014 12:27

Re: Eger program açıksa form2 göster

Mesaj gönderen carsoft »

sormak istedigim programda 2 formum var ana form ve form2 program çalışıyor , fakat ben
programı parametreyle açarsam ikinci bir ana form degilde açık olan program form2 dönsün istiyorum
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Eger program açıksa form2 göster

Mesaj gönderen thelvaci »

O zaman uygulamanın proje dosyasının kaynak kodunu açacaksınız ve ParamCount ve ParamStr nin değerlerine göre hangi formu create edeceğinize karar vereceksiniz demektir.
Kullanıcı avatarı
Opt2000
Üye
Mesajlar: 216
Kayıt: 09 Tem 2003 10:04

Re: Eger program açıksa form2 göster

Mesaj gönderen Opt2000 »

@thelvaci,
Bence sizin uyarınıza rağmen hala kötü sorulmuş bir soru.
carsoft yazdı:sormak istedigim programda 2 formum var ana form ve form2 program çalışıyor , fakat ben
programı parametreyle açarsam ikinci bir ana form degilde açık olan program form2 dönsün istiyorum
Eğer soruyu sizin dediğiniz gibi anlarsak verdiğiniz ipucu (ki neredeyse cevap) yeterli. Ama ben biraz daha farklı anladım. Benim anladığım da şu:
Programda iki tane form var: Ana form ve Form2. Kabul edelim ki program çalışıyor. Kullanıcı programı bir kere daha çalıştırdı, ama bu sefer parametre ile çalıştırdı. Böyle bir durumda program ikinci kez açılmasın, çalışmakta olan instance Form2'yi göstersin (gerekiyorsa Ana Form'u saklasın, bu kısım bence de biraz belirsiz).
Benim anladığım şekliyle sorulmuşsa diğer başlıkta @anonymousdelphicoder daha farklı bir cevap vermiş. Konuya oradan devam etmek daha iyi olur. Hem bu başlıktaki tatsız gerginlik de devam etmez :)

İyi çalışmalar.
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Eger program açıksa form2 göster

Mesaj gönderen brs »

"Neden yanlış bilgi veriyorsunuz" ve "oyleyse anlamadan cevap vermeyin" Bu üsluplar doğru bulmuyorum azarlar gibi, elimden geldiğince yardımcı olmaya çalışıyorum, soruyu yanlış anlamış olabilirim ama asla saygısızlığa tahammül etmem.
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
carsoft
Üye
Mesajlar: 138
Kayıt: 01 Ağu 2014 12:27

Re: Eger program açıksa form2 göster

Mesaj gönderen carsoft »

evet işte bu tesekkurler herkese
anonymousdelphicoder
Üye
Mesajlar: 152
Kayıt: 16 May 2014 11:23

Re: Eger program açıksa form2 göster

Mesaj gönderen anonymousdelphicoder »

Neyse aldığım ahlak ve terbiye kültüründen mütevellit kim sözlerimden kırıldı ise özür dilerim.

@thelvaci anlayıp destek olduğunuz için teşekkür ederim.
varyemez
Üye
Mesajlar: 262
Kayıt: 01 Oca 2009 11:00
Konum: Bursa
İletişim:

Re: Eger program açıksa form2 göster

Mesaj gönderen varyemez »

Ben de hala beklemedeyim, sorunsuz çalışan bir kod yazılsın diye.
Program güncelleme kısmında kullanıyorum benzerini, ama bazı platformlarda çuvallıyor (mesela win10)
Ana programı kontrol edecek çalışıyor mu diye, çalışıyorsa kapatma uyarısı verip kapatacak, ardından güncel sürümü indirip zip dosyayı açacak.
Cevapla