Выключить монитор

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Mirus
Бывалый
Бывалый
 
Сообщения: 259
Зарегистрирован: 09.12.2001 (Вс) 18:25
Откуда: Russia

Выключить монитор

Сообщение Mirus » 14.05.2003 (Ср) 2:19

Как осуществить сабж програмно?
Mirus

areh
Постоялец
Постоялец
 
Сообщения: 530
Зарегистрирован: 02.12.2002 (Пн) 12:28
Откуда: РОССИЯ, Салехард

Сообщение areh » 14.05.2003 (Ср) 7:09

В смысле выключить? из розетки что ли, или на кнопку нажать?

Ты когда вопросы пишешь, пишь их как-нить более понятно!

LsD85
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 118
Зарегистрирован: 04.06.2002 (Вт) 12:48
Откуда: Russia

?!

Сообщение LsD85 » 14.05.2003 (Ср) 8:25

Сам монитор ты программно сможешь выключить с таким же успехом как программно выключишь газ под кипящим чайником.
Ты лучше сделай чёрную форму, разверни её на весь экран при запуске и мышкин курсор отключи - толку больше будет.
OO
-=-

ZeroX
Бывалый
Бывалый
 
Сообщения: 207
Зарегистрирован: 29.04.2003 (Вт) 12:36
Откуда: Мой адрес не дом и не улица, мой адрес Советский Союз

Все можно

Сообщение ZeroX » 14.05.2003 (Ср) 10:50

:!: Мужики все можно, через SendMessage, я даже константу нашел у делфистов, только вот значение ее не знаю, и апививере ее нет :(
Каждый warning мечтает стать error'om

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 14.05.2003 (Ср) 13:10

В смысле выключить? из розетки что ли, или на кнопку нажать?
Ты когда вопросы пишешь, пишь их как-нить более понятно!

А самому соображалку включить, прежде чем на человека наезжать? Слабо? :twisted:

По теме:

Код: Выделить всё
Private Const WM_SYSCOMMAND = &H112
Private Const SC_MONITORPOWER = &HF170

Private Declare Function SendMessage Lib "user32" Alias _
  "SendMessageA" (ByVal hwnd As Long, _
  ByVal wMsg As Long, ByVal wParam As Long, _
  lParam As Any) As Long

Private Sub Command1_Click()
  Dim Res As Long
  Res = SendMessage(Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, 1)
End Sub


Последний параметр:

-1 - переводит монитор в нормальный, рабочий режим;
0 - переводит монитор в режим легкого засыпания;
1 - переводит монитор в спящий режим и
2 - монитор выключается.

Код работает только в том случае, если монитор совместим со стандартом EnergyStar

Dino
Начинающий
Начинающий
 
Сообщения: 23
Зарегистрирован: 20.03.2002 (Ср) 20:05
Откуда: Russia

Сообщение Dino » 14.05.2003 (Ср) 14:14

Все правильно, но маленькое уточнение, лучше в данном случае использовать PostMessage, вместо SendMessage. Иначе монитор не сможет програмно включиться. Проверено.

Mirus
Бывалый
Бывалый
 
Сообщения: 259
Зарегистрирован: 09.12.2001 (Вс) 18:25
Откуда: Russia

Сообщение Mirus » 14.05.2003 (Ср) 18:51

Спасибо!!!
Mirus

Mirus
Бывалый
Бывалый
 
Сообщения: 259
Зарегистрирован: 09.12.2001 (Вс) 18:25
Откуда: Russia

Сообщение Mirus » 07.07.2003 (Пн) 23:25

А как сделать сабж в XP?
Mirus

Mirus
Бывалый
Бывалый
 
Сообщения: 259
Зарегистрирован: 09.12.2001 (Вс) 18:25
Откуда: Russia

Сообщение Mirus » 28.07.2003 (Пн) 7:35

Ни у кого не появилось соображений почему в XP монитор не отключается?
Mirus


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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 3

    TopList