C# 自定义文件格式并即时刷新注册表 非关闭explorer

 

转自:http://blog.csdn.net/zhangtirui/article/details/4309492

最近公司在做一个项目  用到关于自定义格式的文件,但在注册表图标更改后  文件图标的即时更新上遇到了问题  查了很多资料 都没有很好的解决办法 大概比较推崇的是关闭explorer 还有更郁闷的就是注销重启电脑之类.

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using Microsoft.Win32;

using System.Runtime.InteropServices;

namespace Reg

{

    public partial class Form1 : Form

    {

        [DllImport("shell32.dll")]

        public static extern void SHChangeNotify(uint wEventId, uint uFlags, IntPtr dwItem1, IntPtr dwItem2);

        public Form1()

        {

            InitializeComponent();

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

            Registry.SetValue("HKEY_CLASSES_ROOT//.Test", "", "TestFILE");//此为加入的文件类型 

            Registry.SetValue("HKEY_CLASSES_ROOT//TestFILE", "", "Test类型文件");//关联方式 

            Registry.SetValue("HKEY_CLASSES_ROOT//TestFILE//DefaultIcon", "", @"D:/Truck1.ico"); //图标

            Registry.SetValue("HKEY_CLASSES_ROOT//TestFILE//shell//open//command", "", @"D:/OpenFile.exe %1");//执行文件

            SHChangeNotify(0x8000000, 0, IntPtr.Zero, IntPtr.Zero);

            this.Close();

        }

    }

}

转载于:https://www.cnblogs.com/yellowgiutou/p/3906132.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值