-1

我想使用 C# 非托管代码(如 User32.dll 和 GDI32.dll)使我的应用程序中的桌面变暗/模糊。我需要在 User32.dll 和 Gdi32.dll 中调用哪个函数?

4

1 回答 1

0

这个问题有点不具体,我假设您想使用 GDI+ 或类似工具来操作桌面。由于您指定使用非托管 API 调用来执行此操作,因此我的回答的第一部分重点关注这一点。但是,如果问题也适用于使用 .Net 框架,请向下滚动。

非托管绘图

谷歌搜索了一下,我发现这个讨论描述了如何使用非托管 API 调用直接绘制到桌面的 DC(绘图上下文

您应该能够使用其他 GDI+ 函数类似地操作颜色、透明度或类似功能(Blur类可能是您正在寻找的那种效果)。

使用 System.Drawing 管理绘图

但是,在使用 pinvoke 或类似工具深入研究非托管绘图之前,我会认真考虑使用System.Drawing命名空间中的类尝试相同的操作。这些类是非托管 GDI+ API 的 .Net 实现,并且在托管代码中使用起来会更好。

对于没有提供任何好的代码示例或指向要使用的确切类/方法,我深表歉意,如果我有时间尝试一下,稍后会尝试更新我的答案。:-)

于 2012-09-06T13:48:09.597 回答