改变屏幕分辨率的问题
我先调用result:=alGetCurrentDispSet()
然后再用alChangeRes来改变分辨率
但是怎样获得屏幕的刷新频率呢??
result为1024X768X32X85
最后的85即为刷新频率
但如何将其提取出来呢??
或者可以直接使用result吗??
如何使用??
[解决办法]
我是用C#获取的用了几个API函数不防试试,我另外也多了个问题就是设置单卡双显示的分辨率设置,辅助显示的分辨率设置不了,只能设置主显示的分辩率,闷着慌,呜呜呜。。。
[DllImport("Gdi32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]
public static extern int GetDeviceCaps(IntPtr hDC,int nIndex);
[DllImport("User32.dll")]
public extern static IntPtr GetDesktopWindow();
[DllImport("User32.dll")]
public static extern IntPtr GetDC(IntPtr hWnd);
/// <summary>
/// 获得屏幕刷新率
/// </summary>
public static int RefreshRate
{
get
{
IntPtr desktopDC = GetDC(GetDesktopWindow());
return GetDeviceCaps(desktopDC,116);
}
}