首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么刷新文件夹

2013-01-02 
如何刷新文件夹?用Shell扩展写了一个根据文件不同状态覆盖不同图标的程序,但是当文件状态改变时图标不能及

如何刷新文件夹?
用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);
}

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

[解决办法]
搞病毒?

热点排行