C#实现刷新桌面的方法

 更新时间:2015年09月17日 12:30:49   作者:我心依旧  
这篇文章主要介绍了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,
    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#程序设计有所帮助。

相关文章

  • Google.Protobuf工具在C#中的使用方法

    Google.Protobuf工具在C#中的使用方法

    本文详细讲解了Google.Protobuf工具在C#中的使用方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • C# Chart 简单使用教程

    C# Chart 简单使用教程

    Chart控件可以用来绘制波形图、柱状图、饼图、折线图等,用来进行数据表现是很不错的,现在简单说一下这个控件的使用方法,对C# Chart使用相关知识感兴趣的朋友一起看看吧
    2022-11-11
  • C#数据库操作的示例详解

    C#数据库操作的示例详解

    这篇文章主要通过一些示例为大家详细介绍了C#中数据库操作用法,文中的示例代码讲解详细,具有有一定的借鉴价值,需要的可以参考一下
    2022-07-07
  • C# 中使用NModbus4通信库执行写操作

    C# 中使用NModbus4通信库执行写操作

    在C#中NModbus4库提供了一个方便的方式来与支持Modbus协议的设备进行交互,本文就来介绍了使用NModbus4通信库执行写操作,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • c#斐波那契数列(Fibonacci)(递归,非递归)实现代码

    c#斐波那契数列(Fibonacci)(递归,非递归)实现代码

    c#斐波那契数列(Fibonacci)(递归,非递归)实现代码,需要的朋友可以参考一下
    2013-05-05
  • C#实现给图片添加日期信息的示例详解

    C#实现给图片添加日期信息的示例详解

    这篇文章主要为大家详细介绍了如何利用C#实现给图片添加日期信息,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以了解一下
    2022-12-12
  • C#中的Action、Func和Predicate如何使用

    C#中的Action、Func和Predicate如何使用

    这篇文章主要给大家介绍了关于C#中Action、Func和Predicate如何使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • C# Winform DataGridView数据刷新问题的解决办法

    C# Winform DataGridView数据刷新问题的解决办法

    DataGridView 是比较常用的表格控件,在 DataGridView 中显示数据, 一般使用 dataGridView1.DataSource = 数据源,来绑定数据,那么如何做到及时刷新数据呢,本文给大家介绍了C# Winform DataGridView数据刷新问题的解决办法,需要的朋友可以参考下
    2024-09-09
  • 基于C#的socket编程的TCP异步的实现代码

    基于C#的socket编程的TCP异步的实现代码

    本篇文章主要介绍了基于C#的socket编程的TCP异步的实现代码,详解的讲诉了TCP通信异步的实现,有兴趣的可以了解一下。
    2016-11-11
  • C#解析char型指针所指向的内容(实例解析)

    C#解析char型指针所指向的内容(实例解析)

    在c++代码中定义了一个功能函数,这个功能函数会将计算的结果写入一个字符串型的数组中output,然后c#会调用c++导出的dll中的接口函数,然后获取这个output并解析成string类型,本文通过实例解析C# char型指针所指向的内容,感兴趣的朋友一起看看吧
    2024-03-03

最新评论