【发布时间】:2011-08-18 22:08:51
【问题描述】:
你能帮帮我吗?
我需要的是一种在 Windows 机器上更改主题而不用显示属性(个性化)窗口提示用户的方法。主题更改应应用 c:\windows\resources\themes\ 目录中的 .theme 文件,而不是应用新的 .msstyles。方法应该只应用一个 .theme 文件。我只是无法找到一种方法来应用主题而不导致个性化窗口出现。强调一下,我不想通过脚本或宏来解决这个问题。而且,通过“sendkeys”关闭窗口不是一种选择,因为它仍然会在瞬间被看到。
也许有办法通过 WINAPI 函数或简单的注册表破解?请给我建议。谢谢。
最好的问候
【问题讨论】:
-
您仍然可以使用脚本弹出主题窗口并将其定位到屏幕外...
-
但是窗口在移出屏幕之前仍然可以看到一小段时间,对吧?问题是,Windows 使用desk.cpl 来管理主题,我希望它开始隐藏。
-
我不太确定。如果在创建窗口时将其移动到屏幕上,它可能根本不会显示。
-
好吧,当涉及到脚本时,这个任务是相当敏感的。例如,我尝试使用 AutoIt 脚本软件中的各种命令,但它们都是在窗口初始化后执行的。此外,脚本首先检查是否存在我们要关闭/隐藏/最小化等的窗口,然后执行操作。这会导致“闪烁窗口”,这是我想完全避免的。另一方面,我设法完全运行了我自己创建的空白和隐藏的 Win32 应用程序窗口。简单地说,我使用 WINAPI Winmain 并将函数 ShowWindow(DWORD hWnd, int Parameter) 放在 CreateWindowEx 之后。
-
我的问题是,如果没有其他解决方案,我如何通过 C/C++ 运行 WIN32 应用程序“desk.cpl”,使其隐藏,然后选择发送密钥“Ok”或“Apply” ?希望你能理解我。
标签: windows winapi user-interface registry windows-themes