![]() |
|
|
|||||||
|
|
|
|
![]() |
|
|
LinkBack | Konu Araçları | Görünüm Modları |
|
|
#1 (permalink) |
|
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
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 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 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 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 SystemParametersInfo SPI_SCREENSAVERRUNNING, 1, ByVal 1&, False End Sub Private Sub Form_Unload(Cancel As Integer) Ekran koruyucunun bitişini bildir SystemParametersInfo SPI_SCREENSAVERRUNNING, 0, ByVal 1&, False End Sub Çemberinden geçirirken felek,bizim kulağımıza fısıldamıştır senin kaderin bu diye Sağol Felek Çayın Ziyade Olsun |
|
|
|
|
![]() |
| Şu an bu konuyu görüntüleyen kullanıcı sayısı: 1 (0 üye ve 1 misafir) | |
| Konu Araçları | |
| Görünüm Modları | |
|
|