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

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

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

Сообщение neic » 05.03.2005 (Сб) 21:32

Как выключить монитор на 30сек?

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

Сообщение Amed » 05.03.2005 (Сб) 21:34

Нажимаешь кнопочку на нём, ждёшь 30 секунд, потом ещё раз нажимаешь...

Заметь, всё чисто аппаратно, поэтому очень быстро...

Arcanoid
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 162
Зарегистрирован: 01.01.2005 (Сб) 15:44

Сообщение Arcanoid » 05.03.2005 (Сб) 21:39

вот к чему приводит неточная формулировка вопроса!... :lol:

Amed, хорошая шутка!

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

Сообщение Amed » 05.03.2005 (Сб) 21:39

Декларации - самостоятельно (;
Код не проверял, нашёл за 10 сек в яндексе
Код: Выделить всё
hwnd=GetDesktopWindow();
SendMessage (hwnd,WM_SYSCOMMAND,SC_MONITORPOWER,0)
Sleep 30000
SendMessage (hwnd,WM_SYSCOMMAND,SC_MONITORPOWER,-1)

neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Сообщение neic » 05.03.2005 (Сб) 21:43

Amed писал(а):Декларации - самостоятельно (;
Код не проверял, нашёл за 10 сек в яндексе
Код: Выделить всё
hwnd=GetDesktopWindow();
SendMessage (hwnd,WM_SYSCOMMAND,SC_MONITORPOWER,0)
Sleep 30000
SendMessage (hwnd,WM_SYSCOMMAND,SC_MONITORPOWER,-1)


А полный код мона?

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

Сообщение Amed » 05.03.2005 (Сб) 21:57

Код: Выделить всё
Private Declare Sub Sleеp Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function GetDesktopWindow Lib "user32" () As Long
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 Const WM_SYSCOMMAND = &H112
Private Const SC_MONITORPOWER = &HF170&

Private Sub Form_Load()
Dim hwnd As Long
hwnd = GetDesktopWindow()
Call SendMessage(hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, 0)
Sleep 30000
Call SendMessage(hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, -1)
End Sub

neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Сообщение neic » 05.03.2005 (Сб) 22:00

Amed ошибка на строчке:
Код: Выделить всё
Sleep 30000

Arcanoid
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 162
Зарегистрирован: 01.01.2005 (Сб) 15:44

Сообщение Arcanoid » 05.03.2005 (Сб) 22:12

А шо за ошибка?
Invalid user or password...

Qubicz
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 16.10.2004 (Сб) 20:21
Откуда: Санкт-Петербург

Сообщение Qubicz » 06.03.2005 (Вс) 2:13

Допиши в начало:
Код: Выделить всё
Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)

neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Сообщение neic » 06.03.2005 (Вс) 18:55

Amed писал(а):
Код: Выделить всё
Private Declare Sub Sleеp Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function GetDesktopWindow Lib "user32" () As Long
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 Const WM_SYSCOMMAND = &H112
Private Const SC_MONITORPOWER = &HF170&

Private Sub Form_Load()
Dim hwnd As Long
hwnd = GetDesktopWindow()
Call SendMessage(hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, 0)
Sleep 30000
Call SendMessage(hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, -1)
End Sub



У меня всеголишь засыпает программа, а не выкл. монитор!

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 06.03.2005 (Вс) 21:21

Патамушта ByRef lParam As Any ;) Поменяй
Код: Выделить всё
rivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
на
Код: Выделить всё
rivate 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

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

Сообщение Amed » 06.03.2005 (Вс) 21:24

Пф-ф-ф-ф... *У меня на ноутбуке ни один код не работает* :lol:

А почему lParam As Any в апи-гайде!? Почему!?

neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Сообщение neic » 06.03.2005 (Вс) 22:34

A.A.Z. писал(а):Патамушта ByRef lParam As Any ;) Поменяй
Код: Выделить всё
rivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
на
Код: Выделить всё
rivate 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

Всё равно не работает! :cry: :(

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 06.03.2005 (Вс) 23:28

В коде Amed-a в декларациях "Sleеp" написано через русское "е", вот и ругается…
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

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

Сообщение Amed » 06.03.2005 (Вс) 23:50

:roll: :lol:

Только не работает совсем не поэтому. Почему - не знаю :(

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 07.03.2005 (Пн) 0:48

Хм, у меня выключается :?

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

Сообщение HotKitten » 07.03.2005 (Пн) 23:50

вот глянь, я это юзаю
Вложения
Управление монитором.rar
(1.41 Кб) Скачиваний: 21
Изображение

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 07.03.2005 (Пн) 23:55

Ёпт! :lol: Дык Amed в lParam 0 передавал :lol: А я-то свой код смотрел, из My Projects :lol: Поэтому у меня все и работало :lol:

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

Сообщение Amed » 08.03.2005 (Вт) 0:15

A.A.Z. писал(а):Ёпт!

:evil:

А я это... В инете код нарыл, вот %)

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 08.03.2005 (Вт) 14:10

:)


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 112

    TopList  
cron