Visual Basic, .NET, ASP, VBA, VBScript
 
  Библиотека кодов  
  Работа с WINDOWS  
     
  Примеры по работе с хранителем экрана  
  Данный пример покажет, как можно определить "Загружен ли в данный момент хранитель экрана", а также запустить хранитель экрана. Данный пример еще можно дополнить ответом на вопрос "А как программно отключить хранитель экрана?". Я пока ответа не знаю. Если вы знаете ответ, напишите мне

Расположите на форме 3 элемента CommandButton, элемент Timer.

Нажмите на кнопку 2. Через несколько секунд запустится хранитель экрана. Через 6 секунд пошевелите мышкой, хранитель экрана закроется. И вы увидите на форме MsgBox с сообщением, была загружена заставка. При нажатии на кнопку 3 вы получите время, через которое запускается хранитель экрана.


Const SPI_GETSCREENSAVEACTIVE = 16
Const SPI_GETSCREENSAVETIMEOUT = 14
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

'6 нижеследующих строчек нужны для запуска хранителя экрана
Const WM_SYSCOMMAND = &H112&
Const SC_SCREENSAVE = &HF140&
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Sub Command2_Click()
Call SendMessage(Me.hWnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0&)
End Sub

'нажав на кнопку при незапущенном хранителе экрана вы получите сообщение "False"
Private Sub Command1_Click()
Dim blnReturn As Boolean
Dim blnActive As Boolean
Call SystemParametersInfo(SPI_GETSCREENSAVEACTIVE, vbNull, blnReturn, 0)
blnActive = blnReturn
MsgBox blnActive
Timer1.Enabled = False  'выключить таймер
End Sub

Private Sub Form_Load()
Timer1.Interval = 5000 'установить временной интервал таймера 5 секунд
Timer1.Enabled = True 'включить таймер
End Sub

Private Sub Timer1_Timer()
Command1_Click 'имитурем нажатие на клавишу 1
End Sub

Private Sub Command3_Click()
Dim intValue As Integer
Call SystemParametersInfo(SPI_GETSCREENSAVETIMEOUT, vbNull, intValue, 0)
MsgBox ("Скринсэйвер включается через " & intValue & " секунд.")
End Sub
 
     
  VBNet online (всего: 52050)  
 

Логин:

Пароль:

Регистрация, забыли пароль?


В чате сейчас человек
 
     
  VBNet рекомендует  
   
     
  Лучшие материалы  
 
ActiveX контролы (112)
Hitman74_Library (36119)
WindowsXPControls (20739)
FlexGridPlus (19374)
DSMAniGifControl (18295)
FreeButton (15157)
Примеры кода (546)
Parol (18027)
Passworder (9299)
Screen saver (7654)
Kerish AI (5817)
Folder_L (5768)
Статьи по VB (136)
Мое второе впечатление... (11236)
VB .NET: дорога в будущее (11161)
Основы SQL (9225)
Сообщения Windows в Vi... (8788)
Классовая теория прогр... (8619)
 
     
Техническая поддержка MTW-хостинг | © Copyright 2002-2011 VBNet.RU | Пишите нам