C# 在C中刷新Windows aero预览时遇到问题#
我想刷新当鼠标悬停在Windows上的任务栏图标上(或Alt+Tabbing)时显示的aero预览 我发现一个名为的函数似乎很有希望,但当我使用它时:C# 在C中刷新Windows aero预览时遇到问题#,c#,windows,pinvoke,aero,C#,Windows,Pinvoke,Aero,我想刷新当鼠标悬停在Windows上的任务栏图标上(或Alt+Tabbing)时显示的aero预览 我发现一个名为的函数似乎很有希望,但当我使用它时: [DllImport("dwmapi.dll")] static extern int DwmInvalidateIconicBitmaps(IntPtr hwnd); ... int res = DwmInvalidateIconicBitmaps(MyWindowHandle); res设置为-2147024809。当我
[DllImport("dwmapi.dll")]
static extern int DwmInvalidateIconicBitmaps(IntPtr hwnd);
...
int res = DwmInvalidateIconicBitmaps(MyWindowHandle);
res
设置为-2147024809
。当我看十六进制时,它显示为ffffffff80070057
,它似乎对应于E_INVALIDARG
然而,我的窗口句柄是有效的,并成功地用于其他地方。我遇到的另一个站点提到,当无法加载DLL时,可能会抛出此错误。这可能是问题所在吗
我也没有看到上面提到的这个函数,尽管我看到了其他DWM函数,这很奇怪
Windows 10/.NET Core明确规定:
hwnd
位图无效的窗口或选项卡的句柄
通过这个电话此窗口必须属于调用进程
如果不是这样,您将得到一个
E_INVALIDARG
错误。该窗口是否属于您的调用过程?@SimonMourier嗯……不是。我在文件里也看到了。我不确定这会导致InvalidArg错误。。