我正在使用 DevExpress 皮肤。我实现了一个手动禁用皮肤的开关。我需要这个基本上是因为终端服务器(我需要有一个扁平的外观以节省连接带宽)。
无论如何,手动切换并不好,因为用户在本地或远程使用应用程序时必须连续使用它。当然只有关心外观的用户。
我想保留手动开关,但还想添加另一个自动开关 检查 Windows 设置性能的开关(我不知道如何 用英语告诉我,无论如何,我的意思是性能设置可以让任何人 Windows 版本的外观,例如 Windows '98)。我想(如果可能的话) 具有适用于每个 Windows 版本(2K、XP、Vista、7、 和服务器对应部分)。
请注意,我不仅仅想知道我的系统是否在 RDP 中运行,还想知道性能设置是否设置为高图像质量。
最佳答案
您可以使用 Delphi Jedi Apilib 中的我的 JwaWinsta 单元。
更具体地说,您可以将 WinStationQueryInformationW 与 WinStationClient 信息类一起使用,该类返回 WINSTATIONCLIENT 结构。
在此结构中是 WinStationClientFlags 成员,它是一个位字段,可以包含以下常量的任何掩码:
TS_PERF_DISABLE_NOTHING = $0;
TS_PERF_DISABLE_WALLPAPER = $1;
TS_PERF_DISABLE_FULLWINDOWDRAG = $2;
TS_PERF_DISABLE_MENUANIMATIONS = $4;
TS_PERF_DISABLE_THEMING = $8;
TS_PERF_ENABLE_ENHANCED_GRAPHICS = $10;
TS_PERF_DISABLE_CURSOR_SHADOW = $20;
TS_PERF_DISABLE_CURSORSETTINGS = $40;
TS_PERF_ENABLE_FONT_SMOOTHING= $80;
TS_PERF_ENABLE_DESKTOP_COMPOSITION = $100;
TS_PERF_DEFAULT_NONPERFCLIENT_SETTING = $40000000;
TS_PERF_RESERVED1 = $80000000;
此外,该结构还返回 ColorDepth 成员。
关于delphi - 如何发现远程桌面 session 的图像质量设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4334345/