一、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) 

Python创建、删除桌面、启动组快捷方式的例子分享的更多相关文章

  1. 【Python脚本】Python创建删除文件-----------我的第一个Python脚本

    Python相对C++和Java来说,是解释性语言,非常适合来编写脚本. 很久之前就开始学习Python的语法了,今天写了第一个Python的脚本,来简化我的一些日常工作. 我平时学习的时候喜欢新建一 ...

  2. Python创建删除文件

    Python代码如下: import os directory = "E:\\学习日志\\" os.chdir(directory) # 改变当前工作目录 cwd = os.get ...

  3. ubuntu系统下创建软件桌面快捷方式

    转自ubuntu系统下创建软件桌面快捷方式 默认情况下,ubuntu会将自动安装的软件快捷方式保存在/usr/share/applications目录下,如果我们要创建桌面快捷方式,只需要右键-复制- ...

  4. Linux 创建修改删除用户和组

    200 ? "200px" : this.width)!important;} --> 介绍 在日常的维护过程中创建用户操作用的相对会多一些,但是在这个过程中涉及到的知识点就 ...

  5. Linux创建修改删除用户和组

    Linux 创建修改删除用户和组 介绍 在日常的维护过程中创建用户操作用的相对会多一些,但是在这个过程中涉及到的知识点就不单单就是useradd了,接下来就来详细了解账号管理的相关信息. 用户信息 先 ...

  6. C#/WPF/WinForm/.NET程序代码实现软件程序开机自动启动的两种常用方法的示例与源码下载带详细注释-源码代码-注册表方式-启动目录快捷方式

    C#/WPF/WinForm/.NET程序代码实现软件程序开机自动启动的两种常用方法的示例与源码下载带详细注释-源码代码-注册表方式-启动目录快捷方式 C#实现自动启动的方法-两种方法 源码下载地址: ...

  7. 如何使用 Python 创建一名可操控的角色玩家

    在 这个系列的第一篇文章 中,我解释了如何使用 Python 创建一个简单的基于文本的骰子游戏.在第二部分中,我向你们展示了如何从头开始构建游戏,即从 创建游戏的环境 开始.但是每个游戏都需要一名玩家 ...

  8. windows下创建/删除服务

    windows下创建/删除服务 1.      windows下创建/删除服务 1.1.    创建服务 命令格式: sc [servername] create Servicename [Optio ...

  9. Python编写的桌面图形界面程序实现更新检测和下载安装

    在Python中我们有很多种方案来编写桌面图形用户界面程序,譬如内置的 Tkinter .强大的 PyQt5 和 PySide2 ,还有 wxPython .借助这些或内置或第三方的模块,我们可以轻松 ...

随机推荐

  1. 洛谷 P4100 [HEOI2013]钙铁锌硒维生素 解题报告

    P4100 [HEOI2013]钙铁锌硒维生素 题目描述 银河队选手名单出来了!小林,作为特聘的营养师,将负责银河队选手参加 宇宙比赛的饮食. 众所周知,前往宇宙的某个星球,通常要花费好长好长的时间, ...

  2. ubuntu 14.04下使用fcitx时将caps lock映射为ctrl

    在~/.xprofile中加入 setxkbmap -option caps:ctrl_modifier 要弄成全局的就在 /etc/X11/Xsession.d/ 里面找个文件塞进去. archli ...

  3. 省选前的th题

    沙茶博主终于整完了知识点并学完了早该在NOIP之前学的知识们 于是终于开始见题了,之前那个奇怪的题单的结果就是这个了 题目按沙茶博主的做题顺序排序 个人感觉(暂时)意义不大的已被自动忽略 洛谷 491 ...

  4. .net Forms身份验证不能用在应用的分布式部署中吗?

    参照网上的一些方法,使用Forms身份验证对应用进行分布式部署,发现没有成功. 应用部署的两台内网服务器:192.168.1.19,192.168.1.87,使用Nginx做负载分配,配置完全相同:每 ...

  5. django---APIView源码分析

    django---APIView源码分析 前言:APIView基于View 看这部分内容一定要懂django-CBV里的内容 在django-CBV源码分析中,我们是分析的from django.vi ...

  6. selectionStart和selectionEnd属性

    在网上看了很多用js在光标处插入文字的代码,很多都没有用,互抄而已,浪费时间.最近用到一个新方法,可以到达这个需求.IE支持document.selection,Firefox,Chrome,Safa ...

  7. quartz 关闭不断输出的batch acquisition of 0 triggers ?

    转: spring整合quartz定时器的项目中,如何关闭不断输出的batch acquisition of 0 triggers ? 不断输出的batch acquisition of 0 trig ...

  8. kafka channle的应用案例

      kafka channle的应用案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近在新公司负责大数据平台的建设,平台搭建完毕后,需要将云平台(我们公司使用的Ucloud的 ...

  9. Swift学习笔记6

    1.用类型检查操作符(is)来检查一个实例是否属于特定子类型.若实例属于那个子类型,类型检查操作符返回 true,否则返回 false. 2.某类型的一个常量或变量可能在幕后实际上属于一个子类.当确定 ...

  10. 【转载】Etcd+Confd实现Nginx配置文件自动管理

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://lizhenliang.blog.51cto.com/7876557/191015 ...