Visual Basic Ekran Koruyucu Yazma
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 calıştırırken bazı ozel komut satırı parametreleri kullanır. Bu parametreleri programınızdan işlerseniz ekran koruyucu programı uygun şekilde calıştırmış olursunuz.
Bir ekran koruyucu programda bulunması gereken işlemleri şu adımlarla ozetleyebiliriz.
1. Ekran koruyucunun işlevini yerine getirecek kod. Orneğin ekrana rasgele cizimler yapacak kod. Bunu genellikle bir Timer kontrolunun Timer olayına yazabilirsiniz.
2. Ekran koruyucunun iki defa calışmasını onleyecek kod.
3. Alt+Tab ve Ctrl+Alt+Del tuşlarını onleyecek 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 gore ekran koruyucuyu calış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 ornekte uygulayalım.
Ekran koruyucunun işlevini yerine getirecek kod
Bu kısım ekran koruyucunuzun ekranda yapacağı işlemleri icerir. Ekranda animasyonlar, muzik veya cizimler yaptırabilirsiniz.
Ornek olarak ekranda rasgele daireler cizecek bir ekran koruyucu yapalım. bunun icin formumuza bir Timer yerleştirin ve Interval ozelliğini 100 yaparak aşağıdaki kodu yazın.
Alıntı:
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 uzerine aşağıdaki gibi ragele daireler cizcektir.
Ekran koruyucunun iki defa calıımasını onleyecek kod
Ekran koruyucunun iki defa calışmasını onlemek icin VB'deki App nesnesinin PrevInstance ozelliğini kullanabiliriz. Eğer uygulama zaten calışıyorsa bu ozellik true değerini alacaktır. Bu ozelliği kontrol ederek, zaten calıııyorsa tekrar calışmamasını sağlayabiliriz.
Alıntı:
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ı onleyecek kod
Ekran koruyucu calışırken Alt+Tab ve Ctrl+Alt+Del gibi Windows'a ait ozel tuşların gorevlerini yerine getirmemesi gerekir. Bunu yapabilmek icin SystemParametersInfo api'sini kullanabiliriz. Ekran koruyucu calıştığında bu Api'yi kullanarak ekran koruyucunun calışmaya basladığını Windows'a bilidirmemiz, ekran koruyucu calışmasinı bitirdiğinde de yine ayni Api ile uygulamanın sona erdiğini bildirmemiz gerekir.
Bu işlem icin formun Load ve UnLoad olaylarında durumu Windows'a aşağıdaki gibi bildirebiliriz.
Alıntı:
Option Explicit
Private Const SPI_SCREENSAVERRUNNING = 97
Api tanımı
Alıntı:
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 calışmaya başladığını bildir
Alıntı:
SystemParametersInfo SPI_SCREENSAVERRUNNING, 1, ByVal 1&, False
End Sub
PrivateSub Form_Unload(Cancel As Integer)
Ekran koruyucunun bitişini bildir
Alıntı:
SystemParametersInfo SPI_SCREENSAVERRUNNING, 0, ByVal 1&, False
End Sub
(alıntıdır) kaynak:ceviz net
__________________
.: Visual Basic Ekran Koruyucu Yazma:.
Visual Basic0 Mesaj
●26 Görüntüleme
- ReadBull.net
- Programlama ve Yazılım
- Programlama Dilleri
- Visual Basic
- .: Visual Basic Ekran Koruyucu Yazma:.