“拖动时显示窗口内容”不断被禁用

abs*_*ask 5 graphics windows-7 appearance

在我工作的 Windows 7 Enterprise x64 计算机上,“拖动时显示窗口内容”经常被禁用。

我目前将视觉效果设置为“调整为最佳外观”,但时不时地,我只拖动窗口边框 - 而不是内容。

视觉效果:调整最佳外观

(点击图片放大)

当我遇到这种情况时,“拖动时显示窗口内容”复选框仍然处于选中状态。取消选中该框,应用设置,选中该框并应用设置将恢复功能。

我以前使用“自定义”而不是“调整为最佳外观”。当我当时遇到这个问题时,“拖动时显示窗口内容”将被取消选中。我可以检查它,应用设置,“一段时间”后,问题又会出现。

我不知道登录脚本或 GPO 中的任何设置会导致此问题。此外,注销并重新登录,甚至重新启动计算机,都不会重现该问题(至少不一致)。

我很少注销或重新启动,但我经常从家里通过 RDP 连接。我尝试从 Windows XP 计算机连接到我的会话,并在 RDP 客户端中禁用和启用“拖动时显示窗口内容”。无论哪种情况,“拖动时显示窗口内容”均已启用,并在本地登录时正常工作 - 正如预期的那样。

就其价值而言,我的计算机配备了 nVidia NVS 4200M 和 Intel HD 3000 显卡。

有没有人遇到过这个或类似的问题?有什么想法可能导致此问题或如何确定?

谢谢!

abs*_*ask 3

就我而言,每次启动已发布的应用程序时,Citrix Receiver 都会禁用该设置。

我还没有找到一种方法来禁用这种行为。相反,我创建了一个小型 C++ 控制台应用程序来重新启用该设置。这通过计划任务每​​ 5 分钟运行一次。

整个源代码,可以使用VS Studio社区版编译:

#include <windows.h>
#include <tchar.h>

int _tWinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPTSTR    lpCmdLine,
    int       cmdShow)
{
    BOOL enabled;

    SystemParametersInfo(SPI_GETDRAGFULLWINDOWS,
        NULL, &enabled, 0);

    //printf("Current 'dragfullwindow' option status: %d\n", enabled);

    if (!enabled)
    {
        SystemParametersInfo(SPI_SETDRAGFULLWINDOWS,
            TRUE,
            NULL,
            SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)