Есть в MSDN функция (Win CE 4.0):
LONG ChangeDisplaySettingsEx(
LPCTSTR lpszDeviceName,
LPDEVMODE lpDevMode,
HWND hwnd,
DWORD dwflags,
LPVOID lParam
);
Импортирую в C# так:
[DllImport("coredll.dll", CharSet = CharSet.Unicode, EntryPoint = "ChangeDisplaySettingsEx")]
private static extern int ChangeDisplaySettingsEx(
string strDeviceName,
object objDevMode,
object objHwnd,
uint nFlags,
out VIDEOPARAMETERS objParam);
Вызываю так:
private struct VIDEOPARAMETERS {
public Guid Guid;
public uint vpOffset;
public uint vpCommand;
public uint vpFlags;
public uint vpMode;
public uint vpTVStandard;
public uint vpAvailableModes;
public uint vpAvailableTVStandard;
public uint vpFlickerFilter;
public uint vpOverScanX;
public uint vpOverScanY;
public uint vpMaxUnscaledX;
public uint vpMaxUnscaledY;
public uint vpPositionX;
public uint vpPositionY;
public uint vpBrightness;
public uint vpContrast;
public uint vpCPType;
public uint vpCPCommand;
public uint vpCPStandard;
public uint vpCPKey;
public uint bCP_APSTriggerBits;
public char[] bOEMCopyProtection;
};
...
VIDEOPARAMETERS objVideoParameters;
objVideoParameters.Guid = new Guid("02C62061-1097-11d1-920F-00A024DF156E");
objVideoParameters.bOEMCopyProtection = new char[256];
objVideoParameters.vpCommand = VP_COMMAND_GET;
objVideoParameters.vpFlags = VP_FLAGS_BRIGHTNESS;
ChangeDisplaySettingsEx(null, null, null, CDS_VIDEOPARAMETERS, out objVideoParameters);
При вызове бросает NotSupportedException, возможно импорт неправильный или не совпадают параметры...
Если кто пользовался данной функцией, напишите как её правильно импортировать.