Selamlar
Program içerisine gömülmüş bir web browser üzerinden açılan sayfanın içerisinde
kullanıcı sil butonuna bastıktan sonra emin misiniz şeklinde mesaj çıkıyor
bu mesajda kullanıcının ne sectiğini nasıl yakalıyabilirim.
Teşekkürler
Web sayfasından gelen masajı yakalama hakkında
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- adelphiforumz
- Üye
- Mesajlar: 602
- Kayıt: 01 Nis 2008 05:38
- Konum: İstanbul
Web sayfasından gelen masajı yakalama hakkında
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
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
- adelphiforumz
- Üye
- Mesajlar: 602
- Kayıt: 01 Nis 2008 05:38
- Konum: İstanbul
Re: Web sayfasından gelen masajı yakalama hakkında
Selamlar hocamkimimben yazdı:Test etmedim.
http://stackoverflow.com/a/11893847
eğer yapılanları yanlış anlamadıysam burdaki örnekte
ekrana gelen mesaja sendmesaj gönderiyor ve istenen tuşa otomatik bastırılabiliyor
benim aradığım ise ekrana gelen mesajda basılan tuşun hangisinin olduğunu anlayabilmek
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
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
Re: Web sayfasından gelen masajı yakalama hakkında
Esselamü aleyna ve alekümmüsselam.adelphiforumz yazdı:Selamlar hocamkimimben yazdı:Test etmedim.
http://stackoverflow.com/a/11893847
eğer yapılanları yanlış anlamadıysam burdaki örnekte
ekrana gelen mesaja sendmesaj gönderiyor ve istenen tuşa otomatik bastırılabiliyor
benim aradığım ise ekrana gelen mesajda basılan tuşun hangisinin olduğunu anlayabilmek
Şimdi test ettim.
Eğer sayfa içersinde javascript fonksiyonu olan confirm ile bir mesaj çıkartılıyorsa, stackoverlow da verilen cevap üzerinden bir çözüm üretebilirsiniz.
Şöyle ki;
Confirm komutu kullanan bir sayfa olduğunu varsayarsak;
test.html
Kod: Tümünü seç
<!DOCTYPE html>
<html>
<body>
<h1>test</h1>
<p>test</p>
<script>
function sil()
{
if (confirm('emin misiniz ?'))
{
document.getElementById("sonuc").innerHTML = "Sonuç TRUE";
}
else
{
document.getElementById("sonuc").innerHTML = "Sonuç FALSE";
}
}
</script>
<button type="button" onclick="sil();">Sil</button>
<div id="sonuc"></div>
</body>
</html>
Kod: Tümünü seç
unit Unit2;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.OleCtrls, SHDocVw, Vcl.StdCtrls,
COmObj, ActiveX, Vcl.ExtCtrls;
type
IDocHostShowUI = interface(IUnknown)
['{c4d244b0-d43e-11cf-893b-00aa00bdce1a}']
function ShowMessage(hwnd: THandle; lpstrText: POleStr;
lpstrCaption: POleStr; dwType: longint; lpstrHelpFile: POleStr;
dwHelpContext: longint; var plResult: LRESULT): HRESULT; stdcall;
end;
TShowMessageEvent = function(Sender: TObject; hwnd: THandle;
lpstrText: POleStr; lpstrCaption: POleStr; dwType: longint;
lpstrHelpFile: POleStr; dwHelpContext: longint; var plResult: LRESULT)
: HRESULT of object;
TWebBrowser = class(SHDocVw.TWebBrowser, IDocHostShowUI)
private
fOnShowMessage: TShowMessageEvent;
protected
function ShowMessage(hwnd: THandle; lpstrText: POleStr;
lpstrCaption: POleStr; dwType: longint; lpstrHelpFile: POleStr;
dwHelpContext: longint; var plResult: LRESULT): HRESULT; stdcall;
published
property OnShowMessage: TShowMessageEvent read fOnShowMessage
write fOnShowMessage;
end;
TForm2 = class(TForm)
WebBrowser1: TWebBrowser;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
end;
var
Form2: TForm2;
hr: HRESULT;
implementation
{$R *.dfm}
function TWebBrowser.ShowMessage(hwnd: THandle;
lpstrText, lpstrCaption: POleStr; dwType: Integer; lpstrHelpFile: POleStr;
dwHelpContext: Integer; var plResult: LRESULT): HRESULT;
begin
Result := S_OK;
plResult := MessageBox(hwnd, lpstrText, lpstrCaption, MB_OKCANCEL);
if plResult = ID_OK then
begin
Form2.Memo1.Lines.Add('ID_OK');
end;
if plResult = IDCANCEL then
begin
Form2.Memo1.Lines.Add('IDCANCEL');
end;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('file:///'+ExtractFilePath(Application.ExeName)+'test.html');
end;
end.
Son olarak ShowMessage methodu için açıklamalar.
Başka bir alternatif doküman Custom WebBrowser Message BoxesA pointer to an LRESULT that indicates what button the user clicked (taken from the MessageBox IDxxx constants).
Tabi nasıl bir mesaj çıktığı hayal gücümüze bırakıldığı için, belki de yazdıklarım anlamsız veya sorunuzun cevabı olmayabilir.
- Dosya ekleri
-
- WbDialog.7z
- (61.24 KiB) 77 kere indirildi
- adelphiforumz
- Üye
- Mesajlar: 602
- Kayıt: 01 Nis 2008 05:38
- Konum: İstanbul
Re: Web sayfasından gelen masajı yakalama hakkında
Selemlar
"kimimben" ellerine sağlık tam olarak yapmaya çalıştığım buydu.
Hayırlı günlerin olsun
teşekkürler
"kimimben" ellerine sağlık tam olarak yapmaya çalıştığım buydu.
Hayırlı günlerin olsun
teşekkürler
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
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
Re: Web sayfasından gelen masajı yakalama hakkında
Rica ederim.adelphiforumz yazdı:Selemlar
"kimimben" ellerine sağlık tam olarak yapmaya çalıştığım buydu.
Hayırlı günlerin olsun
teşekkürler
CTRL+C CTRL+V dışında yaptımız birşey yok.
ShowMessage methodunun dwType parametresini de alert gibi javascript mesajları için kontrol etmekte fayda var.