Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2009, 10:25   #1
EdNovice
Пользователь
 
Регистрация: 13.04.2007
Сообщений: 65
По умолчанию Погасить монитор

Как в .Net программно погасить монитор? Что-то в гугле не нашел...
Заранее благодарен!
EdNovice вне форума Ответить с цитированием
Старый 16.03.2009, 10:44   #2
kommunist
C# developer
Форумчанин
 
Аватар для kommunist
 
Регистрация: 03.10.2007
Сообщений: 393
По умолчанию

Первая же ссылка в гугле дала ответ:
Код:
  private const int MONITOR_ON = -1;
        private const int MONITOR_OFF = 2;
        private const int WM_SYSCOMMAND = 0x0112;
        private const int SC_MONITORPOWER = 0xF170;
        private const int HWND_BROADCAST = 0xffff;

        [DllImport("user32.dll")]
        private static extern IntPtr SendMessage(IntPtr hWnd,
                                                 uint Msg,
                                                 IntPtr wParam,
                                                 IntPtr lParam);

        [DllImport("user32.dll")]
        private static extern IntPtr GetForegroundWindow();

        public static void MonitorOff()
        {
            IntPtr foregroundWindow = GetForegroundWindow();
            if (foregroundWindow == IntPtr.Zero)
                foregroundWindow = (IntPtr) HWND_BROADCAST;

            SendMessage(foregroundWindow, WM_SYSCOMMAND, (IntPtr) SC_MONITORPOWER, (IntPtr) MONITOR_OFF);
        }

        public static void MonitorOn()
        {
            IntPtr foregroundWindow = GetForegroundWindow();
            if (foregroundWindow == IntPtr.Zero)
                foregroundWindow = (IntPtr) HWND_BROADCAST;

            SendMessage(foregroundWindow, WM_SYSCOMMAND, (IntPtr) SC_MONITORPOWER, (IntPtr) MONITOR_ON);
        }
I like WPF
kommunist вне форума Ответить с цитированием
Старый 16.03.2009, 14:23   #3
EdNovice
Пользователь
 
Регистрация: 13.04.2007
Сообщений: 65
По умолчанию

Без WinApi не обойтись?
EdNovice вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мигает монитор Jantar Операционные системы общие вопросы 24 05.01.2012 14:43
Монитор Lg l197wh +Sergey+ Компьютерное железо 5 28.02.2009 10:19
Монитор BELINEA Snickers Компьютерное железо 0 09.12.2008 02:54
LAN монитор Denager Работа с сетью в Delphi 15 03.12.2008 15:47
ЖК монитор Samsung Olesiana Компьютерное железо 1 23.10.2008 07:55