2012-05-28 198 views
0

我有什么似乎是一个常见问题。我在其中一台最酷的电脑上运行Windows 7 Home Premium(去年购买时),某些视觉效果会自动关闭。检测操作系统级别的引发事件(操作系统外观)

我的平均用户体验评价很高,所以它不能解释为什么会发生这种情况。唯一关闭的功能是“拖动时显示窗口内容”选项。这真让我很烦恼。

目前没有在线解决此问题的解决方案。除了“必须与您的计算机上安装的其他应用程序发生冲突”。

是的,我知道什么应用程序导致此冲突。这是我血腥的互联网提供商的软件 - 你知道......当你连接到网络时,你绝对必须开放的应用程序。

所以,我有一个想法。如果我可以订阅一个事件,以便在后台运行的应用程序检测到此时'显示窗口内容并拖动'选项关闭 - 然后我的应用程序将简单地将其重新打开。

当我手动执行此操作时,它似乎保持大约一两个小时的效果,然后再次关闭。

是否可以处理这些类型的事件,并重新启动某些视觉效果功能?如果是这样,有没有这方面的资源?

我还没能在这个sibject上找到任何东西。

enter image description here

回答

1

是当系统设置改变时WM_SETTINGSCHANGE消息被发送到所有窗口。然后,您可以使用SPI_GETDRAGFULLWINDOWS调用SystemParametersInfo以确定“拖动时显示窗口内容”是否被禁用,并使用SPI_SETDRAGFULLWINDOWS来启用它。

因此,所有你需要做的就是创建一个表单的应用程序(甚至可以留下隐患),并覆盖形式WndProc和处理WM_SETTINGSCHANGE消息,并使用P/Invoke调用SystemParametersInfoSystemParamtersInfo is available at pinvoke.net的p/Invoke定义

尽管可能更容易的是更改HKCU\Control Panel\Desktop\DragFullWindows注册表值的安全性,以便它无法更改。