Mouse koordinat göre tıklama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Mouse koordinat göre tıklama

Mesaj gönderen dogan »

İyi akşamlar.

Mouseye istediğim koordinatı girerek click işlemi yaptırıyorum, koordinat girmeden Focus yapılan linke click işlemini nasıl yaptırabilirim...

Kod: Tümünü seç

WebBrowser1.OleObject.Document.Links.Item(I).Focus;

setcursorpos(600, 825);

 mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

Not: WebBrowser1.OleObject.Document.Links.Item(I).click; dışında
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Mouse koordinat göre tıklama

Mesaj gönderen mrmarman »

Linke focus olmuşsam bir space tuşu yollaman yeterli olacaktır.
Resim
Resim ....Resim
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Re: Mouse koordinat göre tıklama

Mesaj gönderen dogan »

Selam,

asıl sorun space veya enter değil hocam, mesala programı minimize yaptığımızda işlemi nasıl yaptırabilirim yani program arka planda çalışırken ben başka bir işle ilgilendiğimde tıklama işlemini yapmalı...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Mouse koordinat göre tıklama

Mesaj gönderen mrmarman »

Sorunda ne varsa ona cevap veriyoruz.
Münazara konusu istiyorsan ona da cevap yetiştiririz :lol:

- Application OnMinimize olayını yakala,
- Minimize işlemini abort et,
- WebBrowser içeren formu ekranın görünmeyen bir yerine yani negatif ( - ) değerli bir yerine taşı.

Örnek : Formun boyu 100, yüksekliği 100 olduğunu varsayalım

Form.Left := -200;
Form.Top := -200;

dediğinde ekran sınırlarının dışında bir yere konumlanacaktır.

Sağ alta bir tane TrayIcon koyarsın, kontrolünü oradan yürütürsün. Formu görüntüle dediğinde yapacağın işlem yine benzeri şekilde olur

Form.Left := 0;
Form.Top := 0;

hop erkana geliverir.

Tıklama işlemlerini oradan yaparsın sıkıntı olmaz.
Resim
Resim ....Resim
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Mouse koordinat göre tıklama

Mesaj gönderen Lord_Ares »

Mrmarman hocam şu kıvrak ve pratik zekanıza hayranım buna benzer bir sorun bende de vardı, arka planda uygulamama belli eventlar göndermeye çalışıyordum nasıl olur nasıl olur derken cevabınız ilaç gibi geldi, yoksa windows mesaj kuyruğunu yakalayıp bu işlemi yapmaya çalışarak kulağımı epey tersten tutacaktım :)))
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Re: Mouse koordinat göre tıklama

Mesaj gönderen dogan »

mrmarman yazdı:Sorunda ne varsa ona cevap veriyoruz.
Münazara konusu istiyorsan ona da cevap yetiştiririz :lol:

- Application OnMinimize olayını yakala,
- Minimize işlemini abort et,
- WebBrowser içeren formu ekranın görünmeyen bir yerine yani negatif ( - ) değerli bir yerine taşı.

Örnek : Formun boyu 100, yüksekliği 100 olduğunu varsayalım

Form.Left := -200;
Form.Top := -200;

dediğinde ekran sınırlarının dışında bir yere konumlanacaktır.

Sağ alta bir tane TrayIcon koyarsın, kontrolünü oradan yürütürsün. Formu görüntüle dediğinde yapacağın işlem yine benzeri şekilde olur

Form.Left := 0;
Form.Top := 0;

hop erkana geliverir.

Tıklama işlemlerini oradan yaparsın sıkıntı olmaz.

Hocam focus işleminden sonra tıklama işlemini nasıl yaptıra bilirim, (OleObject.Document.Links.Item(I).Click;) dediğimde sayaç saymıyor, mouse ile tıkladığımda sayaç sayıyor ekranda her zaman aktif olmuyor,
Aktif yapsam bu seferde başka bir işlem yapınca mouse bir anda kaçıyor bu durum insanı gıcık ediyor
:N(

OleObject.Document.Links.Item(I).Focus;
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Mouse koordinat göre tıklama

Mesaj gönderen mrmarman »

Html kaynak kodunu incele. Sayacın artmasını sağlayan bir javascript vardır onu da çalıştırmalısın.
Resim
Resim ....Resim
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Re: Mouse koordinat göre tıklama

Mesaj gönderen dogan »

Hocam belirtilen koordinatlara göre değilde, twebbrowserda Focus yapılan alanın koordinatını alabilir miyim bu mümkün mü?
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Mouse koordinat göre tıklama

Mesaj gönderen mrmarman »

Site hakkında ipucu vermediğinden suya yazı yazıyorum. :)

Söylediğin benzeri işlemi daha önce yapmıştım.

1. Önce focus olunca nasıl bir görüntü alıyor ona baktım
2. Web sayfasının BMP fotoğrafını çektim
3. Scanline işlemleri ile koordinatını buldum
4. Benim işlemde oradaki resmi ocr etmem lazımdı başarılı olmuştum.

Sen de projenin önemi derecesinde bu tip yan çözümler arayabilirsin.
Resim
Resim ....Resim
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: Mouse koordinat göre tıklama

Mesaj gönderen erdogan_ozkaya »

Merhaba,

ekteki dosya dan fikir alabilirsin belki.
Dosya ekleri
Mouse_Posi1670001192003.zip
(6.78 KiB) 166 kere indirildi
Mouse_Envi1827271292004.zip
(90.04 KiB) 164 kere indirildi
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Re: Mouse koordinat göre tıklama

Mesaj gönderen dogan »

Linkler için teşekkür ederim.

Uygulamamda kullana bileceğim durumda değil sonuçta googl da linkle her seferinde sıralama farklı oluyor.
WebBrowser1.OleObject.Document.Links.Item(I).Click; yaptığımda ise tıklama gerçekleşiyor fakat google için bir şey ifade etmiyor...
nguzeller
Üye
Mesajlar: 109
Kayıt: 19 Oca 2004 03:29

Re: Mouse koordinat göre tıklama

Mesaj gönderen nguzeller »

aynı ip ve aynı pc den sürekli tık gelse google bunu anlamayacak mı arka planda çalışma şansı da pek yok gibi mause mudahe edecek birde ocr ile tarayıp bulacak olursa ekranda durması da gerekecek
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Mouse koordinat göre tıklama

Mesaj gönderen brs »

nguzeller yazdı:aynı ip ve aynı pc den sürekli tık gelse google bunu anlamayacak mı arka planda çalışma şansı da pek yok gibi mause mudahe edecek birde ocr ile tarayıp bulacak olursa ekranda durması da gerekecek

Bir ara bende bu yönteme benzer bir uygulama kullandım, süreklilik olmadığı sürece sorun olmaz...
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Cevapla