WebBrowser gelen mesajda işlem yapmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
erdem55
Üye
Mesajlar: 32
Kayıt: 18 Mar 2014 06:54

WebBrowser gelen mesajda işlem yapmak

Mesaj gönderen erdem55 »

WebBrowser da şifre girişli bir sayfaya giriş yaptığımda sayfa evet hayır seçeneği sunan bir soru soruyor. Bu ve buna benzer mesajları kontrol etme imkanı var mı acaba? Yani bu soruya otomatik hayır yanıtını verirken başka bir sayfada çıkan soruya tamam yada iptal demem gerekebiliyor.
Yardımlarınız için Şimdiden teşekkür ederim.
giriş yaptığım sayfa https://kbs.egm.gov.tr/ chrome yada firefox da kapatma uyarısı çıkmıyor ama delphi de webbrowser kullandığım için evet yada hayır demem gerekiyor.
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: WebBrowser gelen mesajda işlem yapmak

Mesaj gönderen adelphiforumz »

Browser'ın OnShowMessage Eventinde
alttaki kodu çağırıyorum
prc_WindowsMsgClick('', idOK, tSwcMesajIslem);

Kod: Tümünü seç

type
  tMesajIslem = (tMsg_Yok=0, tMsg_1=1, tMsg_2=2);

type
  tMessajID = (idOK       = 1,
               idCancel   = 2,
               idAbort    = 3,
               idRetry    = 4,
               idIgnore   = 5,
               idYes      = 6,
               idNo       = 7,
               idClose    = 8,
               idHelp     = 9);
....
....
 private
    procedure prc_WindowsMsgClick(pMsgBoxCaption:String; pBtnClickID:tMessajID; pMsgIslem:tMesajIslem);

  public
    tSwcMesajIslem : tMesajIslem;
....
...
    

procedure TForm1.prc_WindowsMsgClick(pMsgBoxCaption:String; pBtnClickID:tMessajID; pMsgIslem:tMesajIslem);
var
  sMsg: string;
  len: integer;
begin
  SetLength(sMsg, 127);
  len := GetWindowText(Application.ActiveFormHandle, PChar(sMsg), 127);
  if len = 0 then Exit;
  SetLength(sMsg, len);
  if pMsgBoxCaption <> '' then
    if sMsg <> pMsgBoxCaption then exit;

  if ( (tSwcMesajIslem = tMsg_1) or
       (tSwcMesajIslem = tMsg_2) )
  then
  begin
      if pBtnClickID = idOK     then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_OK, 0);
      if pBtnClickID = idCancel then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_CANCEL, 0);
      if pBtnClickID = idAbort  then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_ABORT, 0);
      if pBtnClickID = idRetry  then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_RETRY, 0);
      if pBtnClickID = idIgnore then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_IGNORE, 0);
      if pBtnClickID = idYes    then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_YES, 0);
      if pBtnClickID = idNo     then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_NO, 0);
      if pBtnClickID = idClose  then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_CLOSE, 0);
      if pBtnClickID = idHelp   then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_HELP, 0);
  end;
end;
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
erdem55
Üye
Mesajlar: 32
Kayıt: 18 Mar 2014 06:54

Re: WebBrowser gelen mesajda işlem yapmak

Mesaj gönderen erdem55 »

Öncelikle cevabınız için teşekkür ediyorum. Webbrowser'ın OnShowMessage evetini bulamadım herhalde benim acemiliğimdir. Eğer sizin içinde sakıncası yok ise küçük bir örnekle açıklamanız münkün mü?
adelphiforumz yazdı:Browser'ın OnShowMessage Eventinde
alttaki kodu çağırıyorum
prc_WindowsMsgClick('', idOK, tSwcMesajIslem);

Kod: Tümünü seç

type
  tMesajIslem = (tMsg_Yok=0, tMsg_1=1, tMsg_2=2);

type
  tMessajID = (idOK       = 1,
               idCancel   = 2,
               idAbort    = 3,
               idRetry    = 4,
               idIgnore   = 5,
               idYes      = 6,
               idNo       = 7,
               idClose    = 8,
               idHelp     = 9);
....
....
 private
    procedure prc_WindowsMsgClick(pMsgBoxCaption:String; pBtnClickID:tMessajID; pMsgIslem:tMesajIslem);

  public
    tSwcMesajIslem : tMesajIslem;
....
...
    

procedure TForm1.prc_WindowsMsgClick(pMsgBoxCaption:String; pBtnClickID:tMessajID; pMsgIslem:tMesajIslem);
var
  sMsg: string;
  len: integer;
begin
  SetLength(sMsg, 127);
  len := GetWindowText(Application.ActiveFormHandle, PChar(sMsg), 127);
  if len = 0 then Exit;
  SetLength(sMsg, len);
  if pMsgBoxCaption <> '' then
    if sMsg <> pMsgBoxCaption then exit;

  if ( (tSwcMesajIslem = tMsg_1) or
       (tSwcMesajIslem = tMsg_2) )
  then
  begin
      if pBtnClickID = idOK     then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_OK, 0);
      if pBtnClickID = idCancel then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_CANCEL, 0);
      if pBtnClickID = idAbort  then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_ABORT, 0);
      if pBtnClickID = idRetry  then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_RETRY, 0);
      if pBtnClickID = idIgnore then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_IGNORE, 0);
      if pBtnClickID = idYes    then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_YES, 0);
      if pBtnClickID = idNo     then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_NO, 0);
      if pBtnClickID = idClose  then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_CLOSE, 0);
      if pBtnClickID = idHelp   then SendMessage(Application.ActiveFormHandle, WM_COMMAND,  ID_HELP, 0);
  end;
end;
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: WebBrowser gelen mesajda işlem yapmak

Mesaj gönderen adelphiforumz »

"erdem55" kusura bakma ben TWebBrowser üzerinde bu event var sanıyordum
Benim kullandığım component TEmbededWB componenti ücretsiz bir component bunu kullanabilirsiniz.
TWebBrowserın yaptıklarını yapıyor artılarıda var
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
erdem55
Üye
Mesajlar: 32
Kayıt: 18 Mar 2014 06:54

Re: WebBrowser gelen mesajda işlem yapmak

Mesaj gönderen erdem55 »

adelphiforumz yazdı:"erdem55" kusura bakma ben TWebBrowser üzerinde bu event var sanıyordum
Benim kullandığım component TEmbededWB componenti ücretsiz bir component bunu kullanabilirsiniz.
TWebBrowserın yaptıklarını yapıyor artılarıda var
Bende sorun nerede diye düşünüyordum. TEmbededWB component'in yükleme dosyaları elinizde var ise incelemek isterim. şimdiden teşekkür ederim.
Ayrıca konu hakkında başka önerisi olan var mı Acaba?
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: WebBrowser gelen mesajda işlem yapmak

Mesaj gönderen adelphiforumz »

WeTransfer üzerine attım
https://we.tl/rhszQXVwUc
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
erdem55
Üye
Mesajlar: 32
Kayıt: 18 Mar 2014 06:54

Re: WebBrowser gelen mesajda işlem yapmak

Mesaj gönderen erdem55 »

adelphiforumz yazdı:WeTransfer üzerine attım
https://we.tl/rhszQXVwUc
Ahh ahh ben eskide kalmışım hala delphi 7 kullanıyorum da:)
erdem55
Üye
Mesajlar: 32
Kayıt: 18 Mar 2014 06:54

Re: WebBrowser gelen mesajda işlem yapmak

Mesaj gönderen erdem55 »

Arkadaşlar bu konuda başka önerisi olan yok mu acaba?
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: WebBrowser gelen mesajda işlem yapmak

Mesaj gönderen SimaWB »

Daha önce burada konuşmuştuk. Aynı problem galiba...
There's no place like 127.0.0.1
Cevapla