基本信息
源码名称:Win11右键菜单切换工具
源码大小:0.01M
文件格式:.zip
开发语言:C#
更新时间:2024-05-09
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

【核心源码】

using Microsoft.Win32;

using System;
using System.Diagnostics;
using System.Windows.Forms;
using WindowsFormsApp1;

namespace WinFormsApp1
{
    public partial class Form1 : Form
    {
 
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            if (null == Registry.CurrentUser.OpenSubKey(@"Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32"))
            {
                radioWin11.Checked = true;
            }
            else
            {
                radioWin10.Checked = true;
            }
            RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced");
            if (key!=null && (int)key.GetValue("ShowSecondsInSystemClock",0)==1)
            {
                ShowSecondBox.Checked = true;
            }
            else
            {
                ShowSecondBox.Checked = false;
            }

            var winVersion=WindowsInfo.GetWinVersion();

            if (winVersion.CurrentBuild > 22621 || (winVersion.CurrentBuild == 22621 && winVersion.UBR >= 1631))
            {
                ShowSecondBox.Text = "(即时生效)";
            }
            else
            {
                ShowSecondBox.Text = "(当前系统不支持)";
                ShowSecondBox.Enabled = false;
            }
        }


        private void ApplyButton_Click(object sender, EventArgs e)
        {
            String systemType;
            if (radioWin11.Checked)
            {
                RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}", true);
                if (key != null)
                {
                    key.DeleteSubKeyTree("");
                }
                systemType = "Win11 风格新版右键菜单";
                 
            }
            else
            {
                RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Classes", true);
                if (key != null)
                {
                    RegistryKey subkey = key.CreateSubKey(@"CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32");
                    subkey.SetValue("", "");
                    RestartExplorer();
                }
                systemType = "Win10 风格经典右键菜单";
                
            }
            MessageBox.Show("已经成功应用 " systemType, "操作成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }

        //重启资源管理器
        private static void RestartExplorer()
        {
            Process[] processes = Process.GetProcesses();//获取所有进程信息

            foreach (Process process in processes)
            {
                if (process.ProcessName.ToLower() == "explorer")
                {
                    try
                    {
                        process.Kill(); //停止进程
                        
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show(e.Message);
                    }
                }
            }
            Process.Start("explorer.exe");//再启动进程
        }

        private void ShowSecondBox_CheckedChanged(object sender, EventArgs e)
        {
            RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", true);
            if (ShowSecondBox.Checked)
            {
                key.SetValue("ShowSecondsInSystemClock", 1);
            }
            else
            {
                key.DeleteValue("ShowSecondsInSystemClock");
            }
            key.Close();
        }

        private void CloseButton_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}