Formlarınızın icindeki bir Button'a veya Label'e tıklandığında kullanıcının bilgisayarındaki Varsayılan Browser'ı veya Varsayılan Elektronik Posta Programı'nı calıştırabilirsiniz. Boylece kullanıcıyı istediğiniz bir web sayfasına yonlendirebilir, yada Mail gondermesi icin boş bir form acabilirsiniz.
Bunu yapabilmek icin LinkAc adında bir fonksiyon yazacağız. Fonksiyonumuzun calışabilmesi icin GetDesktopWindow ve ShellExecute Apilerinden faydalanacağız. Once projemize bahsettiğimiz apileri tanıtalım. VB menusunden Project > Add Module seceneğini calıştırın. Acılan pencereden Module'u secin. Projemize bir modul eklemiş olduk. Aşağıdaki kodları modulumuzun icine eklediğimizde ise artık projemiz icerisinden iki apiyi de kullanabileceğiz.
'**********
Public Const SW_SHOWNORMAL As Long = 1
Public Const SW_SHOWMAXIMIZED As Long = 3
Public Const SW_SHOWDEFAULT As Long = 10
Private Const SE_ERR_NOASSOC As Long = 31
Private Declare Function GetDesktopWindow Lib "USER32" () As Long
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
'**********
Kodları kopyalarken 'Private Declare Function' ile başlayan kısımların tek bir satırda yazılması gerektiğini unutmayın. Hemen ardından LinkAc adındaki fonksiyonumuzuda ekliyelim.
'**********
Public Function LinkAc(Adres As Variant, PencereTipi As Long) As Boolean
MasaUstu = GetDesktopWindow()
Komut = "Open"
Par1 = 0&
Par2 = 0&
Durum = ShellExecute(MasaUstu, Komut, Adres, Par1, Par2, PencereTipi)
If Durum = SE_ERR_NOASSOC Then LinkAc = False Else LinkAc = True
End Function
'**********
Fonksiyonumuz kendi icinde gerekli tanımları yapıyor ve kendine gonderilen adresi varsayılan browser'da acmaya calışıyor. Başarılı olursa TRUE değerini olamaz ise FALSE değerini geri donduruyor. Bu şekilde işlemin başarılı olup olmadığını kontrol etme şansımız doğuyor. Module penceresiyle işimiz bitti. Sıra geldi fonksiyonumuzu formlarımızda nasıl kullanacağımıza..
Fonksiyonumuz calışırken sizden iki parametre girmenizi ister. Birincisi Adres değişkeni, buraya acmak istediğiniz web sayfasının adresini yazmalısınız, ikincisi ise acılacak pencerenin tipi. Normal ekranda acmak icin: SW_SHOWNORMAL, Tam Ekran'da acmak icin: SW_SHOWMAXIMIZED, Varsayılan ekranda acmak icin: SW_SHOWDEFAULT değerlerini kullanın. Formumuza eklediğimiz button veya label'in uzerine iki kez tıklayarak kod penceresini acalım. Buradaki 'Private Sub XXXXX_Click() / End Sub' satırları arasına
Sonuc = LinkAc("http://www.CaDIKaZaNI.com", SW_SHOWNORMAL)
komutunu ekleyelim. Programı calıştırıp eklediğiniz objenin uzerine tıkladığınızda CaDIKaZaNI.CoM adresinin acıldığını goreceksiniz. Peki nasıl mail gonderteceğim diye soruyorsanız, tek bir farkı var oda adres değişkenine bir web sayfasının adresini vermek yerine, 'mailto:' kalıbını kullanmak. Ornek olara aşağıdaki kod yeni bir mail gonderme pekceresi acar, Kime kısmına '[email protected]', Konu kısmına 'VB#Turk makaleniz hakkında..' yazdırır.
Sonuc = LinkAc("mailto:[email protected]?subject='VB#Fo rumTR Makaleniz Hakkında..'", SW_SHOWNORMAL)
Sonuc değişkenine ise yapılan işlemin sonucu TRUE (Başarılı) veya FALSE (Hata var, Ornek: Bilgisayara yuklu bir browser yok.) olarak geri donuyor. Olayı kavradınız sanırım ? Aklınıza takılan birşey olursa forumlara mesaj bırakabilir veya bana mail atabilirsiniz.
__________________