• 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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Javascript、Jquery获取浏览器和屏幕各种高度宽度
    使用jquery修改css中带有!important的样式属性
    jQuery事件之on()方法绑定多个选择器,多个事件
    JS 实现类似打印的效果(一个字一个字显示)
    编写jQuery 插件
    HTML5中新增加Input 的种类
    巧用Ajax的beforeSend提高用户体验
    window窗口操作
    CIDR
    mysql
  • 原文地址:https://www.cnblogs.com/yellowgiutou/p/3906132.html
Copyright © 2020-2023  润新知