此处以虚拟机镜像快捷方式为例

link_filepath:快捷方式的生成路径

win32_cmd:需要执行的应用程序

arg_str:exe的参数

快捷方式的目标:由win32_cmd + arg_str组成

icon_location:快捷方式的图标位置(默认为ico)

working_directory:快捷方式的起始位置

import pythoncom, winshell
def generate_shortcut(shortcut_name):
"""
生成快捷方式
:vm_name:创建的快捷方式名称,默认为vm_name
"""
try:
# 在多线程时需要添加init,告诉Windows需要开一个com对象
pythoncom.CoInitialize()
link_filepath = os.path.join(winshell.desktop(), f"{shortcut_name}.lnk")
if os.path.exists(link_filepath):
os.remove(link_filepath)
win32_cmd = VBOX_MANAGER_EXE_PATH
arg_str = f"startvm {vm_name} --type separate"
my_working = os.path.abspath(os.path.join(VBOX_MANAGER_EXE_PATH, ".."))
with winshell.shortcut(link_filepath) as link:
link.path = win32_cmd
link.description = "description"
link.arguments = arg_str
link.icon_location = (ICON_PATH, 0)
link.working_directory = my_working
pythoncom.CoUninitialize()
except Exception as e:
logger.info(f"generate_shortcut fail:{e}")

python 生成Windows快捷方式的更多相关文章

  1. Python生成Windows可执行exe文件

    环境 python3.6.5 pyinstaller3.5 windows 10 下载地址 python:https://www.python.org/ftp/python/3.6.5/python- ...

  2. windows平台 python生成 pyd文件

    Python的文件类型介绍: .py       python的源代码文件 .pyc     Python源代码import后,编译生成的字节码 .pyo     Python源代码编译优化生成的字节 ...

  3. python 生成18年写过的博客词云

    文章链接:https://mp.weixin.qq.com/s/NmJjTEADV6zKdT--2DXq9Q 回看18年,最有成就的就是有了自己的 博客网站,坚持记录,写文章,累计写了36篇了,从一开 ...

  4. python实现windows Service服务程序

    python实现windows Service服务程序 win32serviceutil.ServiceFramework是封装得很好的Windows服务框架,本文通过继承它来实现. 通过SvcDoR ...

  5. Metasploit+python生成免杀exe过360杀毒

    Metasploit+python生成免杀exe过360杀毒 1在kali下生成一个反弹的msf的python脚本,命令如下: msfvenom -p windows/meterpreter/reve ...

  6. Python调用windows下DLL详解

    Python调用windows下DLL详解 - ctypes库的使用 2014年09月05日 16:05:44 阅读数:6942 在python中某些时候需要C做效率上的补充,在实际应用中,需要做部分 ...

  7. Python生成腾讯云实时音视频的UserSig签名

    1.UserSig 简介 官方文档链接:https://cloud.tencent.com/document/product/647/16790 腾讯云 IM 的前身是 QQ 的即时通讯消息系统,我们 ...

  8. Python与Windows桌面

    Python更换windows桌面 目录 Python更换windows桌面 前言 准备工作 代码 效果展示 Tips-如何更有仪式感 前言 每天下班,有时候会留下一些事情需要明天更进 为了防止忘记, ...

  9. JavaScript 解析 Django Python 生成的 datetime 数据 时区问题解决

    JavaScript 解析 Django/Python 生成的 datetime 数据 当Web后台使用Django时,后台生成的时间数据类型就是Python类型的. 项目需要将几个时间存储到数据库中 ...

随机推荐

  1. 如何使用Python实现图像融合及加法运算?

    摘要:本篇文章主要讲解Python调用OpenCV实现图像融合及加法运算,包括三部分知识:图像融合.图像加法运算.图像类型转换. 本文分享自华为云社区<[Python图像处理] 五.图像融合.加 ...

  2. CentOS下Python管理

    一.升级Python 查看系统版本 cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 查看Python版本 python -V ...

  3. elementUI 函数自定义传参

    <div v-for="(item,i) in ruleContent" :key="i"> <!-- eg:想通过循环将[i]传进函数rul ...

  4. AI趋势量化系统(Binance升级版)

    更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. B圈大跌行情,如何应对? 近期,伴随着美联储持续的加息进程,数字货币市场不论是市场焦点LUNA,还是BT ...

  5. 聊聊OOP中的设计原则以及访问者模式

    一  设计原则 (SOLID) 1.  S - 单一职责原则(Single Responsibllity Principle) 1.1  定义 一个类或者模块只负责完成一个职责(或功能), 认为&qu ...

  6. sqlmap自动检测漏洞并进行渗透

    使用案例靶场为上篇文章介绍的封神台---靶场 https://hack.zkaq.cn/   提示:采用开源靶场里面的猫舍进行渗透注入,仅用于安全防范无安全侵犯 1.首先检测是否已经安装成功sqlma ...

  7. 在Visual C++ 6.0中无法使用gets()函数的解决办法

    问题 昨晚遇到一个有意思的问题,明明在Visual Studio 2019运行好好的C语言代码,Copy到Visual C++ 6.0中就无法编译通过了,错误提示信息如下: error C2143: ...

  8. 记一次ms17-010复现过程

    最近碰到业务需要使用msf,以前了解过,后面都忘记了.这次干脆写下来,省的每次去找别人写的. 首先是使用nmap探测端口 nmap -O -sV 192.168.153.130 --script=vu ...

  9. SAP 动态选择屏幕实例

    DATA:BEGIN OF gs_sel, werks TYPE marc-werks, "工厂 matnr TYPE mara-matnr, "物料 mtart TYPE mar ...

  10. TopoLVM: 基于LVM的Kubernetes本地持久化方案,容量感知,动态创建PV,轻松使用本地磁盘

    正文 研发测试场景下,一般追求的是一键快速起环境,横向动态复制,一人一套,随起随用,用完即走.作为使用方,其不用关心实际的物理资源是怎样的,环境起在哪里,只要声明自己的使用需求即可.但作为方案构建者以 ...