易采站长站为您分析C#实现刷新桌面的方法,涉及C#基于shell32.dll动态链接库实现系统桌面刷新的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了C#实现刷新桌面的方法。。具体如下:
- using System; using System.Collections.Generic;
- using System.Linq; using System.Text;
- using System.Runtime.InteropServices; namespace FileEncryptProject.Algorithm
- { public class DesktopRefurbish
- { /// <summary>
- /// 桌面刷新 /// </summary>
- [DllImport("shell32.dll")] public static extern void SHChangeNotify(HChangeNotifyEventID wEventId, HChangeNotifyFlags uFlags, IntPtr dwItem1, IntPtr dwItem2);
- public static void DeskRef() {
- SHChangeNotify(HChangeNotifyEventID.SHCNE_ASSOCCHANGED, HChangeNotifyFlags.SHCNF_IDLIST, IntPtr.Zero, IntPtr.Zero); }
- } #region public enum HChangeNotifyFlags
- [Flags] public enum HChangeNotifyFlags
- { SHCNF_DWORD = 0x0003,
- SHCNF_IDLIST = 0x0000, SHCNF_PATHA = 0x0001,
- SHCNF_PATHW = 0x0005, SHCNF_PRINTERA = 0x0002,
- SHCNF_PRINTERW = 0x0006, SHCNF_FLUSH = 0x1000,
- SHCNF_FLUSHNOWAIT = 0x2000 }
- #endregion//enum HChangeNotifyFlags #region enum HChangeNotifyEventID
- [Flags] public enum HChangeNotifyEventID
- { SHCNE_ALLEVENTS = 0x7FFFFFFF,
- SHCNE_ASSOCCHANGED = 0x08000000, SHCNE_ATTRIBUTES = 0x00000800,
- SHCNE_CREATE = 0x00000002, SHCNE_DELETE = 0x00000004,
- SHCNE_DRIVEADD = 0x00000100, SHCNE_DRIVEADDGUI = 0x00010000,
- SHCNE_DRIVEREMOVED = 0x00000080, SHCNE_EXTENDED_EVENT = 0x04000000,
- SHCNE_FREESPACE = 0x00040000, SHCNE_MEDIAINSERTED = 0x00000020,
- SHCNE_MEDIAREMOVED = 0x00000040, SHCNE_MKDIR = 0x00000008,










