Python winreg将cmd/PowerShell(管理员)添加到右键菜单

效果

在这里插入图片描述
在这里插入图片描述

1. 脚本

用管理员权限运行,重复执行会起到覆盖效果(根据sub_key)。

  • icon自己设置。
  • text可以自定义。
  • sub_key可以改但不推荐(避免改成和系统已有项冲突的)。
  • command不要改。
from winreg import *


registry = r"Directory\Background\Shell"

# Warning: 不要将sub_key改为cmd或PowerShell,否则可能会与系统已有项冲突。
config = [
    {
        "sub_key": "mouse_cmd",
        "text": "Windows Command",
        "icon": r"C:\Users\CF\Desktop\icon\cmd.ico",
        "command": "cmd",
    },
    {
        "sub_key": "mouse_cmd_admin",
        "text": "Windows Command (管理员)",
        "icon": r"C:\Users\CF\Desktop\icon\cmd.ico",
        "command": "PowerShell -windowstyle Hidden -Command \"Start-Process cmd.exe -ArgumentList '/s,/k, pushd,%V' -Verb RunAs\"",
    },
    {
        "sub_key": "mouse_PowerShell",
        "text": "Windows PowerShell",
        "icon": r"C:\Users\CF\Desktop\icon\powershell.ico",
        "command": "PowerShell",
    },
    {
        "sub_key": "mouse_PowerShell_admin",
        "text": "Windows PowerShell (管理员)",
        "icon": r"C:\Users\CF\Desktop\icon\powershell.ico",
        "command": 'powershell -WindowStyle Hidden -NoProfile -Command "Start-Process -Verb RunAs powershell.exe -ArgumentList \\"-NoExit -Command Push-Location \\\\\\"\\"%V/\\\\\\"\\"\\"',
    },
]


for item in config:
    key = OpenKey(HKEY_CLASSES_ROOT, registry)
    SetValue(key, item["sub_key"], REG_SZ, item["text"])  # 创建子键,并设置其默认项的值(提示文字)

    key = OpenKey(
        HKEY_CLASSES_ROOT, registry + "\\" + item["sub_key"], access=KEY_WRITE
    )  # 打开子键

    SetValueEx(key, "icon", None, REG_SZ, item["icon"])  # 在子键中设置Icon项的值

    SetValue(
        key, "command", REG_SZ, item["command"]
    )  # 在子键中创健子键command,设置其默认项的值(command)

print("successfully")

2. 一次设置的过程

想了解过程的可以看下下面的。

# function: add cmd.exe to right-click context menu

g_text = "命令提示符"  # 显示文字
g_icon = r"C:\Users\CF\Pictures\Saved Pictures\cmd.ico"  # 图标路径
g_exe = r"C:\Windows\system32\cmd.exe"  # 可执行文件路径
g_key = r"right-click_cmd"  # 自定义,注册表字段名,不要和已有的冲突

import winreg

key = winreg.OpenKey(winreg.HKEY_CLASSES_ROOT, r"Directory\Background\Shell")

winreg.SetValue(key, g_key, winreg.REG_SZ, g_text)


key = winreg.OpenKeyEx(
    winreg.HKEY_CLASSES_ROOT,
    r"Directory\Background\Shell\\" + g_key,
    access=winreg.KEY_WRITE,
)
winreg.SetValueEx(key, "Icon", None, winreg.REG_SZ, g_icon)
winreg.SetValue(key, "command", winreg.REG_SZ, g_exe)


# 在用管理员权限时,方法是唤起一个PowerShell,然后Start-Process来发起一个管理员权限的进程;
#   -verb Runas意思是管理员
#   /s /k pushd %V大概是传递给cmd路径参数

# 示例:
# PowerShell -windowstyle hidden -Command "Start-Process cmd.exe -ArgumentList '/s,/k, pushd,%V' -Verb RunAs"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/152850.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【小黑送书—第七期】>>程序员To架构师?一起来看架构师系列书籍推荐

相信大家都对未来的职业发展有着憧憬和规划,要做架构师、要做技术总监、要做CTO。对于如何实现自己的职业规划也都信心满满,努力工作、好好学习、不断提升自己。 相信成为一名优秀的架构师是很多程序员的目标,架构师的工作包罗万象&#xff…

web前端开发网页设计课堂作业/html练习《课程表》

目标图&#xff1a; 运行代码&#xff1a; <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <title>无标题文档</title><body> <table border"3" align"center"> &…

Python 搭建虚拟环境

一、虚拟环境简介 虚拟环境virtual environment&#xff0c;它是一个虚拟化&#xff0c;从电脑独立开辟出来的环境。通俗的来讲&#xff0c;虚拟环境就是借助虚拟机来把一部分内容独立出来&#xff0c;我们把这部分独立出来的东西称作“容器”&#xff0c;在这个容器中&#xf…

Android——gradle构建知识片-散装版

一、Gradle - Plugins插件库地址 Gradle - Plugins插件库地址https://plugins.gradle.org/ 二、将自己的代码Android Library发布到仓库Bintray、JCenter、JitPack 放弃JitPack&#xff0c;发布Android Library到Bintray、JCenter - 简书Bug&#xff1a;升级到gradle tools …

黑马天机学堂-2、我的课程表 接口分析与设计

在昨天的学习中&#xff0c;我带领大家解决了天机学堂的简单的BUG。并且演示了整个项目的核心业务流程。现在&#xff0c;你对项目有了基本的了解&#xff0c;是时候动手开发一些业务功能了。 接下来接收到一个正式的开发任务&#xff1a;开发天机学堂项目的学习辅助相关功能。…

人工智能基础_机器学习040_Sigmoid函数详解_单位阶跃函数与对数几率函数_伯努利分布---人工智能工作笔记0080

然后我们再来详细说一下Sigmoid函数,上面的函数的公式 我们要知道这里的,Sigmoid函数的意义,这逻辑斯蒂回归的意义就是,在多元线性回归的基础上,把 多元线性回归的结果,缩放到0到1之间对吧,根据中间的0.5为分类,小于0.5的一类,大于的一类, 这里的h theta(x) 就是概率函数 然…

Nginx配置免费HTTPS详细教程

文章目录 背景说明环境准备说明安装Nginx及依赖环境配置HTTPS步骤步骤1&#xff1a;创建服务器私钥步骤2&#xff1a;创建签名请求的证书&#xff08;CSR&#xff09;步骤3&#xff1a;加载SSL支持的Nginx并使用私钥时去除口令步骤4&#xff1a;将密钥文件移动到Nginx配置文件目…

【每日一题】2760. 最长奇偶子数组-2023.11.16

题目&#xff1a; 2760. 最长奇偶子数组 给你一个下标从 0 开始的整数数组 nums 和一个整数 threshold 。 请你从 nums 的子数组中找出以下标 l 开头、下标 r 结尾 (0 < l < r < nums.length) 且满足以下条件的 最长子数组 &#xff1a; nums[l] % 2 0对于范围 […

MyEclipse 2017 安装与pj

关于Myeclipse 2017的安装与破解 MyEclipse企业级工作平台&#xff08;MyEclipseEnterprise Workbench &#xff0c;简称MyEclipse&#xff09;是对EclipseIDE的扩展&#xff0c;利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。…

如何实现SSL证书自动部署、自动续费、自动更新?看这里~

SSL证书默认有效期默认为1年&#xff0c;部分免费证书的默认有效期为3个月。您必须在证书到期前的30个自然日内续费并更新证书&#xff0c;才能延长证书的服务时长。证书续费时&#xff0c; 会颁发一个新的证书&#xff0c;您收到新证书后需要手工更新到服务器上。部分证书支持…

人格障碍在线测试,人格障碍筛查和判断 PDQ-4+

每个人都是独一无二的&#xff0c;每个人都存在人格上的偏差&#xff0c;日常生活中我们携带着自己的人格在忙碌&#xff0c;在不够成对学习、生活和工作的影响下&#xff0c;我们认为都是健康的人格&#xff0c;反之则属于人格障碍。 人格障碍给我们的日常生活带来极大的影响…

注册即得/创业平台扶持!

问心一语持续体验中~ 与公司签订线下&#xff08;线上&#xff09;纸质合伙人代理合同&#xff0c;具备法律效力。 一级直推、非一级直推注册即得奖励。(消耗完毕被邀请用户赠送的AI免费使用条数) 即&#xff1a;邀请1人注册即得并消耗&#xff01;只需注册无需充值&#xff…

科普开关电源测试方法之开机延迟时间测试

开机延迟时间是指电源打开时&#xff0c;电源输入到输出之间的时间差。开关电源采用功率半导体器件作为开关元件&#xff0c;通过周期性通断开关&#xff0c;控制开关元件的占空比来调整输出电压。开机延迟时间测试是检测开关电源响应速度的方法之一&#xff0c;从而来判断开关…

学习c#的第十三天

目录 C# 多态性 静态多态性 函数重载 运算符重载 动态多态性 virtual 和 abstract 抽象方法和虚方法的区别 重载(overload)和重写(override) 隐藏方法 C# 多态性 多态是同一个行为具有多个不同表现形式或形态的能力。 多态性意味着有多重形式。在面向对象编程范式中…

2023年山东省安全员A证证考试题库及山东省安全员A证试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年山东省安全员A证证考试题库及山东省安全员A证试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff09;特种设备作业人员上岗证考试大…

一文讲透IGBT工作原理 | 百能云芯

在实际应用中最流行和最常见的电子元器件是双极结型晶体管 BJT 和 MOS管。 IGBT实物图电路符号图 你可以把 IGBT 看作 BJT 和 MOS 管的融合体&#xff0c;IGBT具有 BJT 的输入特性和 MOS 管的输出特性。与 BJT 或 MOS管相比&#xff0c;绝缘栅双极型晶体管 IGBT 的优势在于它提…

项目文章:oxBS揭示复发性膀胱癌的DNA甲基化和羟甲基化变化并鉴定预测PD-L1表达标记物

近日&#xff0c;徐州市中心医院&#xff08;徐州医科大学徐州临床学院&#xff09;史振铎等为第一作者、韩从辉教授为通讯作者在《Biomarker Research》杂志发表题为“Integrative multi-Omics analysis depicts the methylome and hydroxymethylome of recurrent bladder can…

印染污水处理设备的物理法分类有哪些设备?

印染污水处理设备的物理法分类主要有以下几种设备&#xff1a; 筛滤截留法&#xff1a;主要采用筛网、格栅、滤池与微滤机等设备&#xff0c;用于去除污水中的悬浮物和漂浮物。重力分离法&#xff1a;主要采用沉砂池、沉淀池、隔油池与气浮机等设备&#xff0c;利用重力或浮力…

使用量子玻尔兹曼机推进机器学习:新范式

一、说明 量子玻尔兹曼机&#xff08;QBM&#xff09;是量子物理学和机器学习的前沿融合。通过利用叠加和纠缠等量子特性的力量&#xff0c;QBM 可以同时探索多个解决方案&#xff0c;使其异常擅长解决复杂问题。它使用量子位&#xff08;量子计算的构建模块&#xff09;以传统…

表白墙完善(数据库,前端,后端Servlet),再谈Cookie和Session。以及一个关于Cookie的练习小程序

目录 表白墙引入数据库 再谈Cookie和session 得到Cookie ​编辑 设置Cooie 使用Cookie编写一个登入的小界面 表白墙引入数据库 1.先引入数据库的依赖&#xff08;驱动包&#xff09;&#xff0c;5.1.49 pom.xml中&#xff0c;在之前的两个之前&#xff0c;再去添加一个 &…
最新文章