我希望在我的程序中有动画,但在我将它们强加给所有人(尤其是硬件较差的人)之前,我还想检查它们是否是您想要的。
具体来说,我想从Performance Option窗口检查设置(下面的截图)。
我注意到一些程序正在使用它(这就是我甚至知道它存在的方式)所以我认为必须有一个可以使用的API。
所以我的问题是如何检查该设置是打开还是关闭? 最终这是在C#WPF应用程序中。
答案 0 :(得分:4)
这应该是你正在寻找的技巧
[DllImport("user32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SystemParametersInfo(uint uiAction, uint uiParam, out bool pvParam, uint fWinIni);
private static uint SPI_GETCLIENTAREAANIMATION = 0x1042;
static void Main(string[] args)
{
try
{
bool animationsEnabled;
SystemParametersInfo(SPI_GETCLIENTAREAANIMATION, 0x00, out animationsEnabled, 0x00);
if (animationsEnabled)
{
//Animate controls and elements inside windows is checked
}
else
{
//Animate controls and elements inside windows is not checked
}
}
catch (Win32Exception ex)
{
//error
}
}