调用API函数刷新桌面与右键刷新桌面的问题
利用网站上的API执行刷新桌面成功了,但是我修改了桌面上的文件夹的属性,刷新了没反应,
右键刷新桌面就能体现修改,感觉是不是少了加载?新手请教。
[DllImport("user32.dll", EntryPoint = "GetDesktopWindow")]
public static extern IntPtr GetDesktopWindow();
[DllImport("user32.dll ", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern bool RedrawWindow(IntPtr hwnd, COMRECT rcUpdate, IntPtr hrgnUpdate, int flags);
public class COMRECT
{
public int left;
public int top;
public int right;
public int bottom;
public COMRECT()
{
}
public COMRECT(int left, int top, int right, int bottom)
{
this.left = left;
this.top = top;
this.right = right;
this.bottom = bottom;
}
}
//调用示例如下:
RedrawWindow(GetDesktopWindow(), null, IntPtr.Zero, 0x85);
------解决方案--------------------
最后一个参数,应该是API的RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE ,不知道你的0x85是否包含了这些标志,
另外,一般来说第一个参数也可以不用GetDesktopWindow(),直接给null就可以刷新桌面,