system tratdaki uygulamaya müdahale.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
1pb4njb
Üye
Mesajlar: 7
Kayıt: 14 Ağu 2010 03:55

system tratdaki uygulamaya müdahale.

Mesaj gönderen 1pb4njb »

üstadlar delphide system traydaki bir programa sağ tıklayıp ordan bi butonuna tıklatabilirmiyim.

mesela eset e sağ tıklayıp güncelle demiş gibi msn ye sağ tıklayıp e posta gelen kutuma basmış gibi bunu delphiden yaptrmam gerekiyo nasıl olur
Kullanıcı avatarı
ByDeniS
Üye
Mesajlar: 144
Kayıt: 03 Oca 2009 12:24
Konum: My Computer

Re: system tratdaki uygulamaya müdahale.

Mesaj gönderen ByDeniS »

Delphi ile müdahale etmek istiyorsan bilgisizim.

Ama delphi ile yarattığın exe üzerinde tray'da simge ve bu simgede popups menü oluşturmak istiyorsan :
Evet bu mümkün bunun için component'ler mevcut, component'ler yardımı ile bu olayı halledebilirsin.

http://delphiturkiye.com/index.php?page ... ShellShock

Adresdeki componenti indirip yükleyip istediğin tray işlemini gerçekleştirebilirsin. Önceden ücretli olan bu component firmanın delphi yazılım hayatına nokta koymasından dolayı artık componentleri ücretsiz olarak yayınlanıyor.
En son ByDeniS tarafından 15 Ağu 2010 10:47 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: system tratdaki uygulamaya müdahale.

Mesaj gönderen mkysoft »

her nesnenin bir numarası var, onu kullanarak tray sağ tıklamadan direk aynı işi yaptırabilirsiniz. örnek yazamıyorum ama infospy diye bir program nesnelerin kodunu gösteriyordu.
1pb4njb
Üye
Mesajlar: 7
Kayıt: 14 Ağu 2010 03:55

Re: system tratdaki uygulamaya müdahale.

Mesaj gönderen 1pb4njb »

böyle bişeyi ilk defa duyuyorum nasıl yapabileceğime dair bir yol bir örnek gösterirmisiniz.system traydaki bir ugulamanın içindeki butona nasıl bastırabilrim ???
1pb4njb
Üye
Mesajlar: 7
Kayıt: 14 Ağu 2010 03:55

Re: system tratdaki uygulamaya müdahale.

Mesaj gönderen 1pb4njb »

programıda bulamadm infospy ı
Kullanıcı avatarı
ByDeniS
Üye
Mesajlar: 144
Kayıt: 03 Oca 2009 12:24
Konum: My Computer

Re: system tratdaki uygulamaya müdahale.

Mesaj gönderen ByDeniS »

Macrolar ile bunu yapabilirsin. QMacro adlı programı dene bu program win üzerinde işlem macrosu oluşturur ve oluşturduğun macroyu otomatikmen kullanır. Eğer oradaki macro kadlarını alıp delphiye denöüştürebilirsen işine yarar sanırım.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
1pb4njb
Üye
Mesajlar: 7
Kayıt: 14 Ağu 2010 03:55

Re: system tratdaki uygulamaya müdahale.

Mesaj gönderen 1pb4njb »

makrolar ile yapabileceğimi biliyorum fakat bana delphi içerisinden istiyorum zaman ayarla falanlı filanlı olacak yani o yüzden.
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: system tratdaki uygulamaya müdahale.

Mesaj gönderen mkysoft »

bRemote diye bir program vardı, tv kartlarının kumandasını kullanmak için. Bu program ile dediğim şekilde komut gönderilebiliyordu diğer programlara.
1pb4njb
Üye
Mesajlar: 7
Kayıt: 14 Ağu 2010 03:55

Re: system tratdaki uygulamaya müdahale.

Mesaj gönderen 1pb4njb »

peki nasıl yapıyor acaba ? onuda indiredim ama tv kartm olmadıgı icn acilmadı.
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: system tratdaki uygulamaya müdahale.

Mesaj gönderen mkysoft »

eğer indirdiyseniz kurulduğu klasörde infospy programı olması lazım. bu programla diğer programların üzerindeki nesnelerin id lerini görebilrisiniz.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: system tratdaki uygulamaya müdahale.

Mesaj gönderen Battosai »

Yanlış yöntemler üzerinde çalışıyorsunuz gibi geliyo bana...aslında araştırmanız gereken mouse simulate dir. Peki ne işe yarar derseniz kod ile mouse a istenilen yerde tıklanmasını sağlarsınız.Aşağıdaki linkte güzel bir örnek mevcut...
http://delphi.about.com/od/vclusing/a/mouseadvanced.htm
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: system tratdaki uygulamaya müdahale.

Mesaj gönderen thelvaci »

Battosai arkadaşımızın dediği gibi mouse_event API'si ile yapabilirsiniz ancak bu ideal bir çözüm olmayacaktır kesinlikle. Çünkü; ilgili program system tray'da her zaman olmayabilir, olsa da aynı x/y koordinatında olmayabilir. Dolayısı ile istediğinize her daim ulaşamayabilirsiniz. Hangi program için bu tarz bir şey istiyorsunuz bilmiyorum ama; bazı programlar dış dünyadaki uygulamaların kendileri ile haberleşebilmesi adına type library'ler vasıtası ile COM girdileri oluştururlar. Bana kalırsa en ideal yöntem kullanmak istediğiniz programın bir COM girdisine sahip olup olmadığını araştırmanız yönünde olacaktır. Eğer var ise Delphi tarafında Project/Import Type Library ile sağladığı metodları görebilir ve kullanabilirsiniz.
Kullanıcı avatarı
quadr
Üye
Mesajlar: 69
Kayıt: 21 Haz 2003 10:12
İletişim:

Re: system tratdaki uygulamaya müdahale.

Mesaj gönderen quadr »

senin için en basit çözüm programı maximize edip işini görüp minimize veya hide etmektir.

procedure TForm1.Button1Click(Sender: TObject);
var
h: HWND;
begin
h := FindWindow(nil, 'program pencere başlığı '); //programın handle numarasını buluyoruz
if h <> 0 then PostMessage(h, WM_MAXIMIZE, 0, 0); //büyük hale alıyoruz
SetCursorPos(300, 300);//cursorun yerini ayarlıyoruz

//sol tıklayacaksak
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
//sağ tıklayacaksak
mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
PostMessage(h, WM_HIDE, 0, 0);//hide veya minimize
end;

istersen sendmessage ilede yapabilirsin.

kolay gelsin...

Ayakkabıyı sefaletten
Çok sonraları tanıdım
Öyle ufuklarda mı olurmuş Allah'ım
Giyer giyer koşardım
Toprağın dostluğundan
Oyuncaklar yaptım çamurdan
Tenimin rengini aldım topraktan
Sen bakma esmerliğim sonradan...

http://www.tcct.us
Cevapla