2

我正在查看ChangeDisplaySettings的 MSDN 文档。对于 dwFlags 选项,您可以传入 0 或其他列出的标志之一。但是,我无法弄清楚如何直接引用这些标志,也无法弄清楚它们的实际long值是用来代替它们的。

我正在使用以下方法从 C# 应用程序进行这些调用:

[DllImport("User32.dll")]
public static extern long ChangeDisplaySettings(ref DeviceMode lpDevMode, int dwflags);

有没有办法可以直接引用这些标志,或者,除此之外,找出它们的实际值是什么?

4

1 回答 1

4

http://www.pinvoke.net来救援

[Flags()]
public enum ChangeDisplaySettingsFlags : uint
{
    CDS_NONE = 0,
    CDS_UPDATEREGISTRY = 0x00000001,
    CDS_TEST = 0x00000002,
    CDS_FULLSCREEN = 0x00000004,
    CDS_GLOBAL = 0x00000008,
    CDS_SET_PRIMARY = 0x00000010,
    CDS_VIDEOPARAMETERS = 0x00000020,
    CDS_ENABLE_UNSAFE_MODES = 0x00000100,
    CDS_DISABLE_UNSAFE_MODES = 0x00000200,
    CDS_RESET = 0x40000000,
    CDS_RESET_EX = 0x20000000,
    CDS_NORESET = 0x10000000
}

[DllImport("user32.dll")]
public static extern DISP_CHANGE ChangeDisplaySettings(ref DEVMODE devMode, ChangeDisplaySettingsFlags flags); 

来源http ://www.pinvoke.net/default.aspx/user32.changedisplaysettings

于 2013-09-19T15:43:02.723 回答