欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Python创建、删除桌面、启动组快捷方式的例子分享

程序员文章站 2022-04-25 13:26:53
...
一、Python创桌面建快捷方式的2个例子

例子一:

代码如下:


import os
import pythoncom
from win32com.shell import shell
from win32com.shell import shellcon

def createDesktopLnk(filename,lnkname):
shortcut = pythoncom.CoCreateInstance(
shell.CLSID_ShellLink, None,
pythoncom.CLSCTX_INPROC_SERVER, shell.IID_IShellLink)
shortcut.SetPath(filename)
if os.path.splitext(lnkname)[-1] != '.lnk':
lnkname += ".lnk"
# get desktop path
desktopPath = shell.SHGetPathFromIDList(shell.SHGetSpecialFolderLocation(0,shellcon.CSIDL_DESKTOP))
lnkname = os.path.join(desktopPath,lnkname)
shortcut.QueryInterface(pythoncom.IID_IPersistFile).Save(lnkname,0)

if __name__ == '__main__':
createDesktopLnk(u"C:\Python27\python.exe","MyPython")

例子二:
首先得安装 ActiveState ActivePython . 因为这个中带了 winshell 库

代码如下:


from os import path
import winshell


#----------------------------------------------------------------------
def create_shortcut_to_desktop(target,title):
"""Create shortcut to desktop"""
s = path.basename(target)
fname = path.splitext(s)[0]
winshell.CreateShortcut(
Path = path.join(winshell.desktop(), fname + '.lnk'),
Target = target,
Icon=(target, 0),
Description=title)


注:不支持win64


二、使用winshell模块创建、删除桌面、启动组快捷方式

当写好一个应用并发行的时候,我们希望在用户的桌面上建立快捷方式方便用户操作,winshell模块提供了我们需要的功能

下面这个函数将创建程序自身的快捷方式到桌面:

代码如下:


from os import path
import winshell

def create_shortcut_to_desktop():
target = argv[0]
title = '我的快捷方式'
s = path.basename(target)
fname = path.splitext(s)[0]
winshell.CreateShortcut(
Path = path.join(winshell.desktop(), fname + '.lnk'),
Target = target,
Icon=(target, 0),
Description=title)

下面这个函数实现将本程序的快捷方式从桌面删除:

代码如下:


def delete_shortcut_from_startup():
target = argv[0]
s = path.basename(target)
fname = path.splitext(s)[0]
delfile = path.join(winshell.startup(), fname + '.lnk')
winshell.delete_file(delfile)

下面这个函数实现了建立快捷方式到启动组:

代码如下:


from os import path
import winshell

def create_shortcut_to_startup():
target = argv[0]
title = '我的快捷方式'
s = path.basename(target)
fname = path.splitext(s)[0]
winshell.CreateShortcut(
Path = path.join(winshell.startup(),
fname + '.lnk'),
Target = target,
Icon=(target, 0),
Description=title)