读书人

怎么刷新文件夹

发布时间: 2013-01-02 13:08:44 作者: rapoo

如何刷新文件夹?
用Shell扩展写了一个根据文件不同状态覆盖不同图标的程序,但是当文件状态改变时图标不能及时更新,要手动刷新文件夹才有效。请问有没有办法让程序去刷新文件夹呢?
DirectoryInfo.Refreh()是没有用的,在网上找过刷新图标缓存的方法:


[DllImport("User32.dll", EntryPoint = "SendMessage")]
private static extern int SendMessage(IntPtr hWnd,int Msg,int wParam,int lParam);

public const int WM_SETTINGCHANGE = 26;
public const int HWND_BROADCAST = 65535;

static void Main(string[] args)
{
int value = Convert.ToInt32(Registry.GetValue(@"HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics", "Shell Icon Size", -1).ToString());
Registry.SetValue(@"HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics", "Shell Icon Size", value - 1, RegistryValueKind.String);
SendMessage(new IntPtr(HWND_BROADCAST), WM_SETTINGCHANGE, 0, 0);
Registry.SetValue(@"HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics", "Shell Icon Size", value, RegistryValueKind.String);
SendMessage(new IntPtr(HWND_BROADCAST), WM_SETTINGCHANGE, 0, 0);
}

也不起作用。
[解决办法]
(*^__^*) 嘻嘻
[解决办法]
没试过。应该可以吧

[解决办法]
搞病毒?

读书人网 >C#

热点推荐