0

我正在尝试禁用 Windows Server 2012 R2 远程桌面会话中的所有视觉效果。这通常通过系统 => 高级系统设置 => 性能“设置”并应用“调整以获得最佳性能”预设来完成。

由于没有可以设置的组策略设置或注册表值,我偶然发现了 SystemParamtersInfo 函数。不幸的是,它对我正在测试它的 RDP 会话绝对没有影响。

我不是一个好的程序员,这就是我在 MSDN 和谷歌的帮助下编织在一起的。

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; 
}

那么我在这里做错了什么?

4

0 回答 0