【问题标题】:Intercept the rendering and interaction of the desktop截取桌面的渲染和交互
【发布时间】:2014-01-18 09:44:05
【问题描述】:

是否有可能在不修改Windows操作系统的情况下,让一个软件截取桌面的渲染,并在显示之前对其进行修改?例如,如果我想截取它,并在我的整个屏幕上应用鱼眼效果,这可能吗?

如果是这样,我该怎么做? (不要担心效果,只是一个例子,我只需要拦截方面的东西)

另外,我需要能够拦截鼠标点击,并在 Windows 响应输入之前修改它们的位置。

如果有人有此项目或 C# 或 C++ 中类似项目的链接,那也将非常有帮助。

【问题讨论】:

    标签: c# c++ windows opengl directx


    【解决方案1】:

    是的,这是可能的。例如。 WinAmp 播放器就是这样做的。但是,该代码非常不稳定,因此如果您尝试它,请准备好重新启动。

    【讨论】:

    • 您能否将我转发给此类代码或技术的示例?我的搜索找不到太多内容。
    • 再举个例子,我已经提到过 WinAmp(而且那是免费软件)。我不知道代码是否公开可用。但是桌面背景只是一个窗口,因此可以子类化。我想使用子类化是因为我想我记得所有基于 COM 的“活动桌面”东西在 Vista 中或任何时候都被删除了。 显然,现在用 Spy++ 检查一下,它是一个 SHELLDLL_DefView 类的资源管理器进程窗口,它是某个其他资源管理器窗口的子窗口,而该窗口又位于系统的非资源管理器桌面窗口之上。在 Explorer 中注入代码很简单,shell 扩展。
    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 2020-11-06
    • 2010-11-18
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    相关资源
    最近更新 更多