【问题标题】:How to replace window desktop with my own application window CWnd如何用我自己的应用程序窗口 CWnd 替换窗口桌面
【发布时间】:2010-01-25 18:02:43
【问题描述】:

我尝试使用 GetDesktopWindow() 在我的 Windows 桌面上绘画。 但我失败了,因为桌面会迅速重新粉刷自己,而我的画没有出现。 所以我需要将我通过GetDesktopWindow() 获得的桌面窗口替换为ownerdraw 应用程序窗口 任何人都可以有一个想法,如何做到这一点?

提前致谢, 米兰

【问题讨论】:

    标签: windows visual-c++ mfc desktop cwnd


    【解决方案1】:

    我认为这是不可能的。当我编写一个操纵桌面的“桌面玩具”时,我所做的是截取屏幕截图,创建一个与桌面一样大的窗口,然后将屏幕截图放在我的应用程序窗口的背面。当然,这确实阻止了开始菜单和桌面图标之类的工作,但这对我来说很好,不知道您要做什么。

    您可以尝试对从 GetDesktopWindow() 获得的窗口进行子类化...虽然我怀疑 Windows 有针对此类恶作剧的保护措施。

    【讨论】:

    • 感谢您的建议,但我想用我的独立应用程序替换 windows 桌面,我想开发一个应用程序,它将在窗口启动时启动,用户无法访问 windows 桌面的任何其他功能,而我的应用程序正在运行。我希望用户只与我的应用程序交互。
    • 哦,但是你想做的事情可以用另一种方式来完成,通过使用除 explorer.exe 之外的另一个 shell。看看en.wikipedia.org/wiki/Windows_shell_replacement,看看cairoshell.com 这样的shell 是如何做到的。
    【解决方案2】:

    您无法替换桌面窗口。但是你可以让它画你想要的任何东西。

    只需将您想要绘制的任何内容放入位图中,然后使用SystemParametersInfo SPI_SETDESKTOPWALLPAPER 将其选为桌面背景位图

    【讨论】:

    • 我不只是想改变我的桌面绘画。我实际上想阻止 Windows 资源管理器,并且用户只能访问我的应用程序。所以我想用我的应用程序 wnd 替换 windows 桌面 wnd。有没有其他方法可以阻止 Windows 资源管理器?
    • 你说的是替换 explorer作为Windows的shell。这在理论上是可能的,但微软没有记录如何做到这一点。
    【解决方案3】:

    我对 Windows 桌面有些不满,我正在评估的一种替代方案是 Windows KDE ...

    http://windows.kde.org/

    这是(通常)基于 Linux Qt 的 KDE 窗口系统的 Windows 版本。

    我在安装信息中解释了如何替换 windows shell(桌面)。就我而言,我玩得很安全。我保留了我的旧帐户(为简单起见,我只是在以管理员身份登录时将帐户信息复制到“我的副本”文件夹中)。

    我正在使用 KDE 作为单独的用户进行评估。

    作为问题的答案,有信息。在安装文档和代码库中覆盖 96% 的问题。与我们大多数人分享其余部分:-)

    \_w_/

    【讨论】:

      【解决方案4】:

      您可以将注册表中的默认 shell 更改为您自己的应用程序。

      我尝试在注册表中将 explorer.exe 替换为 cmd.exe 并且成功了。当我重新启动机器时,我只能看到一个命令提示符。

      【讨论】:

        【解决方案5】:

        作为管理员,创建 C:/windows/explorer.exe 的副本并将其另存为 explorer.exe.old,删除 explorer.exe,并将您的应用程序复制到 C:/windows 作为 explorer.exe。重新启动,登录,理论上,它应该在那里。

        【讨论】:

          猜你喜欢
          • 2012-04-11
          • 2012-03-11
          • 1970-01-01
          • 2020-10-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多