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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2010, 15:59   #1
Farhod
Пользователь
 
Регистрация: 30.03.2010
Сообщений: 15
По умолчанию Что такое WinApi?

Что такое Winapi, как его исползовать в своём проекте??
Farhod вне форума Ответить с цитированием
Старый 16.04.2010, 16:45   #2
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Что такое WinAPI

Например так:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace WindowsFormsApplication1
{
    public class MonitorPower
    {
        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); //это WinAPI функция


        [DllImport("user32.dll")]
        private static extern IntPtr GetForegroundWindow(); //это WinAPI функция

        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);
        }
    }
}

Последний раз редактировалось Casper-SC; 16.04.2010 в 16:53.
Casper-SC вне форума Ответить с цитированием
Старый 16.04.2010, 18:06   #3
Farhod
Пользователь
 
Регистрация: 30.03.2010
Сообщений: 15
По умолчанию

Большое спасибо вам. А как я могу найти функции, переменнии WinApi? Например
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;
SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);

ну откуда можно найти полний список?

Последний раз редактировалось Farhod; 16.04.2010 в 18:11.
Farhod вне форума Ответить с цитированием
Старый 16.04.2010, 18:17   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

msdn.microsoft.com
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 19.04.2010, 17:24   #5
Farhod
Пользователь
 
Регистрация: 30.03.2010
Сообщений: 15
По умолчанию

спасиба вам
Farhod вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что такое ^= ? k1r1ch Общие вопросы C/C++ 3 10.01.2010 17:15
Что такое @? k1r1ch Общие вопросы Delphi 11 11.09.2009 20:15
Что такое SE LOPKOT HTML и CSS 5 31.08.2009 21:50
что такое cURL? LevonNikox PHP 3 23.08.2009 11:29
то такое мастерство в программировании, что такое мастер программист и что он может? Cezar Свободное общение 29 02.06.2007 23:48