system tratdaki uygulamaya müdahale.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
system tratdaki uygulamaya müdahale.
ü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
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
Re: system tratdaki uygulamaya müdahale.
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 :
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 ! ·•·
Re: system tratdaki uygulamaya müdahale.
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.
Re: system tratdaki uygulamaya müdahale.
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 ???
Re: system tratdaki uygulamaya müdahale.
programıda bulamadm infospy ı
Re: system tratdaki uygulamaya müdahale.
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 ! ·•·
Re: system tratdaki uygulamaya müdahale.
makrolar ile yapabileceğimi biliyorum fakat bana delphi içerisinden istiyorum zaman ayarla falanlı filanlı olacak yani o yüzden.
Re: system tratdaki uygulamaya müdahale.
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.
Re: system tratdaki uygulamaya müdahale.
peki nasıl yapıyor acaba ? onuda indiredim ama tv kartm olmadıgı icn acilmadı.
Re: system tratdaki uygulamaya müdahale.
eğer indirdiyseniz kurulduğu klasörde infospy programı olması lazım. bu programla diğer programların üzerindeki nesnelerin id lerini görebilrisiniz.
Re: system tratdaki uygulamaya müdahale.
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
http://delphi.about.com/od/vclusing/a/mouseadvanced.htm
Re: system tratdaki uygulamaya müdahale.
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.
Re: system tratdaki uygulamaya müdahale.
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...
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