UzmanWeb.Net
  ANA SAYFA   FORUM   RESİMLER   GÖRSEL DERSLER   TOPLİST   DERSLER   İLETİŞİM

Mayıs 16, 2008, 06:54:48 ÖÖ *
Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz
 
   Forum   Yardım Oyun Giriş Yap Kayıt  
Sayfa: [1]   Aşağı git
  Yazdır  
Gönderen Konu: Visual Basİc Ekran Koruyucu Yazma  (Okunma Sayısı 256 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
AdmiN
Genel Sorumlu
Administrator
*

Puan: 287
Offline Offline

Cinsiyet: Bay
İsim: Adem TÜRK
Meslek: Öğretmen
Mesaj Sayısı: 2816


~|| Bilginin Gücü ||~

Aktiflik
Deneyim
Seviye
WWW Stats
« : Haziran 24, 2007, 12:08:48 ÖS »
Aşağıdaki listedeki kullanıcılar bu konu için teşekkür ediyorlar!Teşekkür Et

Aslında ekran koruyucu (screen saver) programların normal programlardan pek farkı yoktur. Ekran koruyucuları normal bir program gibi yazılır ancak derlenirken uzantı yerine EXE değil de SCR verilir. Windows ekran koruyucuyu çalıştırırken bazı özel komut satırı parametreleri kullanır. Bu parametreleri programınızdan işlerseniz ekran koruyucu programı uygun şekilde çalıştırmış olursunuz.
Bir ekran koruyucu programda bulunması gereken işlemleri şu adımlarla özetleyebiliriz.
1. Ekran koruyucunun işlevini yerine getirecek kod. Örneğin ekrana rasgele çizimler yapacak kod. Bunu genellikle bir Timer kontrolünün Timer olayına yazabilirsiniz.

2. Ekran koruyucunun iki defa çalışmasını önleyecek kod.

3. Alt+Tab ve Ctrl+Alt+Del tuşlarını önleyecek kod.

4. Fare veya Klavyeden bir tuşa basıldığında ekran koruyucuyu sonlandırma.

5. /s, /p , /c parametrelerini işleyerek Windowstan gelen mesajlara göre ekran koruyucuyu çalıştıracak kod.

6. Formun tam ekran haline getirilmesi ve başlığının kaldırılması.

7. Ekran koruyucu uygulamasının SCR uzantısıyla derlenmesi ve Windows'a tanıtılması.
Şimdi bu adımları sırasıyla anlatarak bir örnekte uygulayalım.

Ekran koruyucunun işlevini yerine getirecek kod
Bu kısım ekran koruyucunuzun ekranda yapacağı işlemleri içerir. Ekranda animasyonlar, müzik veya çizimler yaptırabilirsiniz.
Örnek olarak ekranda rasgele daireler çizecek bir ekran koruyucu yapalım. bunun için formumuza bir Timer yerleştirin ve Interval özelliğini 100 yaparak aşağıdaki kodu yazın.




Kod:
Private Sub Timer1_Timer()
FillColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
FillStyle = 0
Circle (Rnd * Width, Rnd * Height), Rnd * Width,
RGB(Rnd * 255, Rnd * 255, Rnd * 255)
End Sub



Bu kodumuz, form üzerine aşağıdaki gibi ragele daireler çizcektir.

Ekran koruyucunun iki defa çalıımasını önleyecek kod
Ekran koruyucunun iki defa çalışmasını önlemek için VB'deki App nesnesinin PrevInstance özelliğini kullanabiliriz. Eğer uygulama zaten çalışıyorsa bu özellik true değerini alacaktır. Bu özelliği kontrol ederek, zaten çalıııyorsa tekrar çalışmamasını sağlayabiliriz.


Kod:
Private Sub Form_Load()
Timer1.Interval = 100
If App.PrevInstance Then
Unload Me
End If
End Sub


Alt+Tab ve Ctrl+Alt+Del tuşlarını önleyecek kod
Ekran koruyucu çalışırken Alt+Tab ve Ctrl+Alt+Del gibi Windows'a ait özel tuşların görevlerini yerine getirmemesi gerekir. Bunu yapabilmek için SystemParametersInfo api'sini kullanabiliriz. Ekran koruyucu çalıştığında bu Api'yi kullanarak ekran koruyucunun çalışmaya basladığını Windows'a bilidirmemiz, ekran koruyucu çalışmasinı bitirdiğinde de yine ayni Api ile uygulamanın sona erdiğini bildirmemiz gerekir.
Bu işlem için formun Load ve UnLoad olaylarında durumu Windows'a aşağıdaki gibi bildirebiliriz.


Kod:
Option Explicit
Private Const SPI_SCREENSAVERRUNNING = 97
Api tanımı

Private Declare Function SystemParametersInfo Lib "user32"
Alias "SystemParametersInfoA"
(ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any,
ByVal fuWinIni As Long) As Long


Private Sub Form_Load()
Timer1.Interval = 100
If App.PrevInstance Then
Unload Me
End If


Ekran koruyucunun çalışmaya başladığını bildir

Kod:
SystemParametersInfo SPI_SCREENSAVERRUNNING, 1, ByVal 1&, False
End Sub


Kod:
Private Sub Form_Unload(Cancel As Integer)


Ekran koruyucunun bitişini bildir
Kod:
SystemParametersInfo SPI_SCREENSAVERRUNNING, 0, ByVal 1&, False
End Sub

Alıntıdır.
Teşekkür listesi şu anda boş.
Logged

Soru sormadan ve yeni konu açmadan önce arama yapınız.
Konulara teşekkür mesajı yazmayın, teşekkür et düğmesine tıklayınız.
Sayfa: [1]   Yukarı git
  Yazdır  
 
Gitmek istediğiniz yer:  

Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC | Sitemap | Sitemap / Site Haritası
Giriş Sayfası Yap Sık Kullanılanlara Ekle
UzmanWeb.Net 2003-2007 © | Bilgi Paylaşım Sitesi | Sitemap
Sayfa Başına Dön
Sitemizde yer alan tüm bilgilerin bir kısmı diğer sitelerden derlenip yalnızca bilgilendirme ve eğitim amacıyla sunulmaktadır.
Uzman Toplist Asp İndir Popüler Siteler Linkdefteri.com

MKPortal ©2003-2006 mkportal.it