SendMessage в Windows::Forms под Visual C++ 2010

Возникла необходимость заюзать winapi-шную функцию в приложении Windows Forms на C++

Я потратил около шести часов, чтобы найти решение, потому что просто так написать

SendMessage(Handle, WM_CLOSE, 0, 0);

не достаточно. А интуицией догадаться может только экстрасенс.

Короче. В файл stdafx.h после тудушечки добавляем инклюд:

// TODO: Установите здесь ссылки на дополнительные заголовки...
#include "windows.h"

В свойствах проекта идем в Свойства конфигурацииКомпоновщикВвод, щелкаем по свойству Дополнительные зависимости (у правильных пацанов это называется Linker — Input — Additional dependencies) и выбираем из раскрывающегося списка <наследовать от родителя или от свойств проекта по умолчанию>. Возможно, придется выбрать пункт <Изменить...> и поставить там галку:

И только теперь мы можем вызывать тот же SendMessage(), но с обязательными предшествующими двойными двоеточиями и преобразованием численного значения указателя к структуре HWND. Вот так:

::SendMessage((HWND)this->Handle.ToInt32(), WM_SYSCOMMAND, SC_MONITORPOWER, 2);

Ура! И главное совершенно очевидно, особенно с настройкой проекта.