Как выключить монитор из VB

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Dashka
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 15.11.2004 (Пн) 14:38

Как выключить монитор из VB

Сообщение Dashka » 09.10.2005 (Вс) 16:36

Не подскажете ли как можно включать/выключать монитор из программы (есть ли какие-нибудь АПИ функции). Типа того, что делает Windows, когда компьютером долго не пользуются.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 09.10.2005 (Вс) 17:15


HotKitten
Дятил
Дятил
Аватара пользователя
 
Сообщения: 400
Зарегистрирован: 24.01.2005 (Пн) 21:48
Откуда: из дома

Сообщение HotKitten » 14.10.2005 (Пт) 17:50

Код: Выделить всё
Option Explicit
' ----------------------------------------------------------------------------
' Управление монитором
' ----------------------------------------------------------------------------
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 Const WM_SYSCOMMAND = &H112&
Private Const SC_MONITORPOWER = &HF170&
' пауза
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
' выключить монитор
Dim m As Long
m = SendMessage(Form1.hWnd, WM_SYSCOMMAND, SC_MONITORPOWER, 2&)
End Sub
Private Sub Command2_Click()
' включить монитор
Dim m As Long
m = SendMessage(Form1.hWnd, WM_SYSCOMMAND, SC_MONITORPOWER, -1&)
End Sub
Private Sub Command3_Click()
' экономичный режим
Dim m As Long
m = SendMessage(Form1.hWnd, WM_SYSCOMMAND, SC_MONITORPOWER, 1&)
End Sub
Private Sub Command4_Click()
' выключить монитор на 5 секунд
Dim m As Long
' выключить монитор
m = SendMessage(Form1.hWnd, WM_SYSCOMMAND, SC_MONITORPOWER, 2&)
Sleep (5000)
' включить монитор
m = SendMessage(Form1.hWnd, WM_SYSCOMMAND, SC_MONITORPOWER, -1&)
End Sub
Изображение

Dashka
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 15.11.2004 (Пн) 14:38

Сообщение Dashka » 18.10.2005 (Вт) 11:38

Всем большое спасибо, работает.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 138

    TopList