• 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();

            }

        }

    }

    作者:守望
    QQ:497886344    微信: yellowgiutou
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    洛谷P2886 [USACO07NOV]Cow Relays G
    CF1344F Piet's Palette
    CF1344E Train Tracks
    CF1342F Make It Ascending
    LOJ6049 拍苍蝇
    test20200430 最长路径
    LG1742 最小圆覆盖 和 LOJ6360 复燃「恋之埋火」
    LOJ6358 前夕
    LOJ6485 LJJ学二项式定理
    LOJ2882 两个人的星座
  • 原文地址:https://www.cnblogs.com/yellowgiutou/p/3906132.html
Copyright © 2020-2023  润新知