在 C# 中刷新 Windows aero 预览时遇到问题



我想刷新将鼠标悬停在 Windows 上的任务栏图标上(或 Alt+Tab 键)时显示的 aero 预览。

我发现了一个名为DwmInvalidateIconicBitmaps的函数,它似乎很有前途,但是当我使用它时:

[DllImport("dwmapi.dll")]
static extern int DwmInvalidateIconicBitmaps(IntPtr hwnd);
...
int res = DwmInvalidateIconicBitmaps(MyWindowHandle);

res设置为-2,147,024,809.当我查看十六进制时,它出来了FFFF FFFF 8007 0057,根据该网站,这似乎对应于E_INVALIDARG

但是,我的窗口句柄是有效的,并且可以在其他地方成功使用。我遇到的另一个网站提到,当无法加载DLL时,可能会引发此错误。这可能是问题所在吗?

我也没有在pinvoke网站上看到这个函数,尽管我确实看到了其他DWM函数,这很奇怪。

视窗 10/.NET Core

文档明确规定:

HWND

位图失效的窗口或选项卡的句柄 通过这个电话。此窗口必须属于调用进程

如果不是这种情况,您将收到E_INVALIDARG错误。

相关内容

  • 没有找到相关文章

最新更新