Я пытаюсь отключить все визуальные эффекты в сеансе удаленного рабочего стола Windows Server 2012 R2. Обычно это делается с помощью System => Advanced system settings => Performance «Settings» и применяет предустановку «Adjust to Best Performance».
Поскольку нет ни параметров групповой политики, ни значений реестра, которые можно установить, я наткнулся на функцию SystemParamtersInfo. К сожалению, это никак не влияет на сеанс RDP, в котором я его тестирую.
Я не очень хороший программист, и это то, что я связываю вместе, с помощью MSDN и Google.
namespace SetVisualEffects
{
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
public class SetVisualEffects
{
[DllImport("user32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SystemParametersInfo(uint uiAction, uint uiParam, bool pvParam, uint fWinIni);
private static UInt32 SPI_SETUIEFFECTS = 0x103F;
private static UInt32 SPI_SETFONTSMOOTHING = 0x004b;
private static UInt32 SPI_SETDROPSHADOW = 0x1025;
public static void Main()
{
SystemParametersInfo(SPI_SETDROPSHADOW, 0, false, 0);
SystemParametersInfo(SPI_SETUIEFFECTS, 0, false, 0);
SystemParametersInfo(SPI_SETFONTSMOOTHING, 0, false, 0);
}
}
}
И мой аналогичный подход с использованием C ++, к сожалению, с тем же результатом.
#include <windows.h>
#include <stdio.h>
#include <iostream>
#pragma comment(lib, "user32.lib")
int main()
{
// Disables all UI effects.
SystemParametersInfo(SPI_SETUIEFFECTS, 0, FALSE, SPIF_SENDCHANGE);
// Disables "Animate controls and elements inside windows"
// Disables "Animate windows when minimizing and maximizing"
// Disables "Animations in the taskbar"
// Disables "Enable Peek"
// Disables "Fade or slide menus into view"SystemParametersInfo(SPI_SETMENUANIMATION, 0, FALSE, SPIF_SENDCHANGE);
SystemParametersInfo(SPI_SETMENUFADE, 0, FALSE, SPIF_SENDCHANGE);
// Disables "Fade or slide ToolTips into view"SystemParametersInfo(SPI_SETTOOLTIPFADE, 0, FALSE, SPIF_SENDCHANGE);
// Disables "Fade out menu items after clicking"SystemParametersInfo(SPI_SETSELECTIONFADE, 0, FALSE, SPIF_SENDCHANGE);
// Disables "Save taskbar thumbnail previews"
// Disables "Show shadows under mouse pointer"SystemParametersInfo(SPI_SETCURSORSHADOW, 0, FALSE, SPIF_SENDCHANGE);
// Disables "Show shadows under windows"
// Disables "Show thumbnails instead of icons"
// Disables "Show translucent selection rectangle"
// Disables "Show window contents while dragging"
// Disables "Slide open combo boxes"SystemParametersInfo(SPI_SETCOMBOBOXANIMATION, 0, FALSE, SPIF_SENDCHANGE);
// Disables "Smooth edges of screen fonts"SystemParametersInfo(SPI_SETFONTSMOOTHING, 0, FALSE, SPIF_SENDCHANGE);
// Disables "Smooth-scroll list boxes"SystemParametersInfo(SPI_SETLISTBOXSMOOTHSCROLLING, 0, FALSE, SPIF_SENDCHANGE);
// Disables "Use drop shadows for icon labels on the desktop"SystemParametersInfo(SPI_SETDROPSHADOW, 0, FALSE, SPIF_SENDCHANGE);
return 0;
}
Так что я тут делаю не так?
Задача ещё не решена.