C# 自定義文件格式並即時刷新註冊表 非關閉explorer

 

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

最近公司在作一個項目  用到關於自定義格式的文件,但在註冊表圖標更改後  文件圖標的即時更新上遇到了問題  查了不少資料 都沒有很好的解決辦法 大概比較推崇的是關閉explorer 還有更鬱悶的就是註銷重啓電腦之類.ui

 

using System;this

using System.Collections.Generic;spa

using System.ComponentModel;.net

using System.Data;orm

using System.Drawing;blog

using System.Text;it

using System.Windows.Forms;io

using Microsoft.Win32;class

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

        }

    }

}

相關文章
相關標籤/搜索