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 menug_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 winregkey = 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.rhkb.cn/news/195086.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第28章_mysql缓存策略

文章目录 MySQL缓存方案目的分析缓存层作用举例 缓存方案选择场景分析 提升MySQL访问性能的方式MySQL主从复制读写分离连接池异步连接 缓存方案缓存和MySQL一致性状态分析制定读写策略 同步方案canalgo-mysql-transfer 缓存方案的故障问题及解决缓存穿透缓存击穿缓存雪崩缓存方…

「分享学习」SpringCloudAlibaba高并发仿斗鱼直播平台实战完结

[分享学习]SpringCloudAlibaba高并发仿斗鱼直播平台实战完结 第一段:简介 Spring Cloud Alibaba是基于Spring Cloud和阿里巴巴开源技术的微效劳框架,普遍应用于大范围高并发的互联网应用系统。本文将引见如何运用Spring Cloud Alibaba构建一个高并发的仿…

基于JavaWeb+SSM+社区居家养老服务平台—颐养者端微信小程序系统的设计和实现

基于JavaWebSSM社区居家养老服务平台—颐养者端微信小程序系统的设计和实现 源码获取入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 前言 在复杂社会化网络中,灵活运用社会生活产生的大数据&am…

理解 R-CNN:目标检测的一场革命

一、介绍 对象检测是一项基本的计算机视觉任务,涉及定位和识别图像或视频中的对象。多年来,人们开发了多种方法来应对这一挑战,但基于区域的卷积神经网络(R-CNN)的发展标志着目标检测领域的重大突破。R-CNN 及其后续变…

php-cli

//运行index.php ./php index.php//启动php内置服务器 ./php -S 0.0.0.0:8080//启动内置服务在后台运行,日志输出到本目录下的server.log nohup ./php -S 0.0.0.0:8080 -t . > server.log 2>&1 &# 查找 PHP 进程 ps aux | grep "php -S 0.0.0.0:…

用Postman发送xml数据

启动Postman: 点击左上角的“New”,在弹出窗中选择HTTP: 选择POST方法: 点击Body: 选择raw: 在右侧的下拉列表中选择XML: 在下面的输入框中输入或者从其它地方拷贝XML文本:…

玩具、儿童用品、儿童服装上亚马逊TEMU平台CPC认证办理

CPC认证是Childrens Product Certificate的简称,即儿童产品证书。它是美国强制性法规CPSIA要求的一部分,该法规主要针对12岁及以下儿童使用的产品,如玩具、儿童用品、儿童服装等。 一、儿童小汽车CPC测试项目可能会因产品标准和法规的不同而…

12-2- DCGAN -简单网络-卷积网络

功能 随机噪声→生成器→MINIST图像。 训练方法 0 损失函数:gan的优化目标是一个对抗损失,是二分类问题,用BCELoss 1 判别器的训练,首先固定生成器参数不变,其次判别器应当将真实图像判别为1,生成图像判别为0 loss=loss(real_out, 1)+loss(fake_out, 0) 2 生成器的…

CocosCreator3.8神秘面纱 CocosCreator 项目结构说明及编辑器的简单使用

我们通过Dashboard 创建一个2d项目,来演示CocosCreator 的项目结构。 等待创建完成后,会得到以下项目工程: 一、assets文件夹 assets文件夹:为资源目录,用来存储所有的本地资源,如各种图片,脚本…

BIO、NIO、AIO三者的区别及其应用场景(结合生活例子,简单易懂)

再解释三者之前我们需要先了解几个概念: 阻塞、非阻塞:是相较于线程来说的,如果是阻塞则线程无法往下执行,不阻塞,则线程可以继续往下 执行。同步、异步:是相较于IO来说的,同步需要等待IO操作完…

ncbi-datasets-cli-高效便捷下载NCBI数据

文章目录 简介安装datasets download下载基因组/基因序列按照GCA list文件编号下载下载大基因组genome完整参数gene参数 datasets summary下载元数据dataformat将json转换成表格格式通过json文件解析其他字段问题 简介 NCBI Datasets 可以轻松从 NCBI 数据库中收集数据。使用命…

navigator.geolocation.getCurrentPosition在谷歌浏览器不执行的问题

/*** 获取我的位置*/getNavigatorLocation: function () {navigator.geolocation.getCurrentPosition(function (success) {console.log(inner>>>, success);if (success && success.coords) {var data success.coords;var point "POINT(" data.…

鉴源论坛 · 观模丨软件单元测试真的有必要吗?(下)

作者 | 包丹珠 上海控安产品总监 版块 | 鉴源论坛 观模 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” “软件单元测试真的有必要吗?(上)”一文中,着重探讨了单元测试的重要性及其正面临的困境&#xff0c…

vue下载xlsx表格

vue下载xlsx表格 // 导入依赖库 import XLSX from xlsx; import FileSaver from file-saver; methods:{btn(){let date new Date()let Y date.getFullYear() -let M (date.getMonth() 1 < 10 ? 0 (date.getMonth() 1) : date.getMonth() 1) -let D (date.getDat…

220V交流转直流的简易电源设计

220V交流转直流的简易电源设计 设计简介设计原理电路图变压器电路交流转直流电路3.3V电源接口电路 PCB3D图 实践检验 设计简介 通过模拟电路的相关知识&#xff0c;尝试将220V的交流电转化为我们指定电压的直流电。 设计原理 将220V交流电转化为直流电的方法常用的有通过变压器…

LeetCode---117双周赛---容斥原理

题目列表 2928. 给小朋友们分糖果 I 2929. 给小朋友们分糖果 II 2930. 重新排列后包含指定子字符串的字符串数目 2931. 购买物品的最大开销 一、给小朋友们分糖果I 看一眼数据范围&#xff0c;如果没有啥其他想法思路就直接暴力&#xff0c;时间复杂度O(n^2) 思路&#x…

如何在Ubuntu 23.10部署KVM并创建虚拟机?

正文共&#xff1a;1114 字 21 图&#xff0c;预估阅读时间&#xff1a;2 分钟 我们之前对OpenStack醉过一次简单介绍&#xff08;什么是OpenStack&#xff1f;&#xff09;&#xff0c;OpenStack本身是一个云管理平台&#xff0c;它本身并不提供虚拟化功能&#xff0c;而是依赖…

【2012年数据结构真题】

41题 &#xff08;1&#xff09; 最坏情况下比较的总次数 对于长度分别为 m&#xff0c;n 的两个有序表的合并过程&#xff0c;最坏情况下需要一直比较到两个表的表尾元素&#xff0c;比较次数为 mn-1 次。已知需要 5 次两两合并&#xff0c;故设总比较次数为 X-5, X 就是以 N…

机器学习中的偏差漂移:挑战与缓解

一、介绍 机器学习算法已在各个行业得到广泛采用&#xff0c;在自动化流程、制定数据驱动决策和提高效率方面发挥着关键作用。然而&#xff0c;他们也面临着挑战&#xff0c;其中一个重要的问题是偏见。机器学习模型中的偏差可能会导致不公平和歧视性的结果&#xff0c;并对现实…