Windows mesajlarını yakalama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 33
- Kayıt: 09 Ağu 2010 01:28
Windows mesajlarını yakalama
Arkadaşlar mesela delphide bir program hazırladım. Programım arka planda çalışırken normal günlük işler windowsta yapılıyor. Bu esnada windowsun uyarı ve hataları varya, showmessage şeklinde çıkıyor. Ben programda eğer windows hatası çıkarsa şunu şuraya kaydet gibi birşey yapmak istiyorum. Yani windowsun verdiği hata showmessagelerini nasıl yakalayıp kontrol edebilirim.
Re: Windows mesajlarını yakalama
Bir RootKit yazmayı biliyor ve Kernel API'lerine kanca atabiliyorsanız dediğiniz şey elbette mümkün. Ama bu pek derin bir bilgi gerektirir.
Re: Windows mesajlarını yakalama
Eger amacın senin programın verdiği istisnaları/exceptionları yakalamaksa, application üzerinden bunu yapabilirsin.
Ana formunun create procedure une aşagıdaki kodu yaz
Anaformunun tanımının oldugu yere yeni bir procedure ekle
İstisna/exception olunca ne yapılacagını Istisnayakala procedure unde tanımla.
Ana formunun create procedure une aşagıdaki kodu yaz
Kod: Tümünü seç
Application.OnException:=IstisnaYakala;
Kod: Tümünü seç
procedure IstisnaYakala( Sender : TObject; E : Exception );
Kod: Tümünü seç
procedure Torm1.IstisnaYakala( Sender : TObject; E : Exception );
procedure Hata(s1:String);
begin
if MessageDlg( s1+ #13#10 + E.Message+#13#10+'Durdur`u seçerseniz program kapatılacaktır',
mtError, mbAbortIgnore, 0 ) = mrAbort then Application.Terminate;
end;
begin
if (E is ESocketError) then Hata('Soket Bağlantı Hatası');
if (E is EIBInterbaseError) then Hata('Firebird Veritabanı Hatası');
if (E is EIBClientError) then Hata('Firebird Veritabanı Hatası');
end;
-
- Üye
- Mesajlar: 33
- Kayıt: 09 Ağu 2010 01:28
Re: Windows mesajlarını yakalama
Hayır amacım benim programın verdiği mesajları değil. Genişçe şöyle anlatayım daha açıklayıcı olsun, kafanızda canlansın. Şimdi çalıştığım fabrikada samsungun web tabanlı programını kullanıyoruz. Oraya ürünün barkodunu okuttuğumuzda olumluysa web üzerinden onların database ine o barkodu kayıt atıyor. Bende keyboard hook programı yaptım. Aynı zamanda onların sistemine kayıt atarken benim programda bizim sisteme kayıt atıyor. Buraya kadar sorun yok. Ama eğer barkod hatalıysa onların sistemde internet explorer uyarı mesajı veriyor, tamam deyip geçiyorsun ve onların sistemine kayıt atmamış oluyor, ama benim keyboard hook programına kayıt gidiyor. Benim keyboard hook programına eklemek istediğim, eğer internet exporer uyarı mesajı verirse bizim sisteme atılan en son kayıt silinsin. Bu sayede onların sistemine gitmeyen kayıt bizde de olmayacak ve sayılar birbirini tutacak. Biraz uzun ama istediğim açıklayıcı oldu sanırım.
Re: Windows mesajlarını yakalama
Karışık görünüyor, eger web kodlarına müdahale edebiliyorsanız (php ve asp ile yazıldıysa), hook işine girmeden barkod kodunun dogruluguna göre mesaj göndererek işlem yapabilirsiniz.
Hook işlemleriyle ie deki mesajları yakalamanın saglıklı sonuç verecegini sanmıyorum.
Hook işlemleriyle ie deki mesajları yakalamanın saglıklı sonuç verecegini sanmıyorum.
-
- Üye
- Mesajlar: 33
- Kayıt: 09 Ağu 2010 01:28
Re: Windows mesajlarını yakalama
Ya aslında internet explorerdaki olayların nereye log attığını bilebilsem, txt uzantılı dosyadan o sabit çıkan kelimeleri arattırıp bi sorgu kurabilirim, eminim explorarda bi uyarı mesajı çıktığında bi yere log atıyodur ama onu bulamadım işte, onu bulsam sorun çözülecek.