C#实现刷新桌面的方法
本文实例讲述了C#实现刷新桌面的方法。分享给大家供大家参考。具体如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Runtime.InteropServices;
namespaceFileEncryptProject.Algorithm
{
publicclassDesktopRefurbish
{
///<summary>
///桌面刷新
///</summary>
[DllImport("shell32.dll")]
publicstaticexternvoidSHChangeNotify(HChangeNotifyEventIDwEventId,HChangeNotifyFlagsuFlags,IntPtrdwItem1,IntPtrdwItem2);
publicstaticvoidDeskRef()
{
SHChangeNotify(HChangeNotifyEventID.SHCNE_ASSOCCHANGED,HChangeNotifyFlags.SHCNF_IDLIST,IntPtr.Zero,IntPtr.Zero);
}
}
#regionpublicenumHChangeNotifyFlags
[Flags]
publicenumHChangeNotifyFlags
{
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//enumHChangeNotifyFlags
#regionenumHChangeNotifyEventID
[Flags]
publicenumHChangeNotifyEventID
{
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,
SHCNE_NETSHARE=0x00000200,
SHCNE_NETUNSHARE=0x00000400,
SHCNE_RENAMEFOLDER=0x00020000,
SHCNE_RENAMEITEM=0x00000001,
SHCNE_RMDIR=0x00000010,
SHCNE_SERVERDISCONNECT=0x00004000,
SHCNE_UPDATEDIR=0x00001000,
SHCNE_UPDATEIMAGE=0x00008000,
}
#endregion
}
希望本文所述对大家的C#程序设计有所帮助。