【问题标题】:Special Desktop Screenshot Programmatically以编程方式的特殊桌面屏幕截图
【发布时间】:2013-06-28 09:22:38
【问题描述】:

我很抱歉问了一些显而易见的问题。但我还是想问一下,因为也许有一种隐藏的方法可以做到这一点。当然都是程序化的。

  • 我可以截取没有所有窗口的桌面截图吗?

    • 只是背景(图片)和图标?
    • 只有背景(图片),没有图标?
    • 只是没有壁纸的背景(首选没有图标)

如果只是为了我,我可以隐藏或最小化所有窗口,但这不只是为了我,所以我想找到一种不会对用户不友好的方法。 WinApi 是关键字,但问题仍然存在。

【问题讨论】:

    标签: windows winapi screenshot desktop capture


    【解决方案1】:

    我不是 WinApi 专业人士,但我的想法是这样的:
    假设您已经知道如何使用您的代码进行“常规”屏幕截图(我不知道),您可以尝试获取所有现有窗口句柄并隐藏所有窗口,然后截取屏幕截图并再次取消隐藏它们。
    这至少可以让 with 图标成为可能。

    只需谷歌搜索“winapi 遍历窗口句柄”和“winapi 隐藏窗口句柄”之类的内容。
    我确实知道舒尔有一些功能可以隐藏你有句柄的窗口,我认为有一种方法可以遍历现有的句柄。
    您可能需要从 dll 中导入这些功能。

    【讨论】:

    • 遍历窗口并用ShowWindow() 隐藏它们不是问题,但会有闪烁,我不希望用户看到任何内容。只想用他的桌面背景。
    • 好吧……我没想到,但我发现了这个:link 这可能会有所帮助。
    【解决方案2】:

    借助Ch33f 的评论this 有帮助!

    // load desktop Wallpaper
    // or
    BackColor = SystemColors.Desktop;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-28
      • 2010-12-16
      • 2014-04-17
      相关资源
      最近更新 更多