一、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. SharePoint 2013 Central Admin 不能打开

    当我准备打开CA时发现下面的错误: This operation can be performed only on a computer that is joined to a server farm ...

  2. Haproxy Mysql cluster 高可用Mysql集群

    -----client-----------haproxy---------mysql1----------mysql2------192.168.1.250 192.168.1.1 192.168. ...

  3. A1077. Kuchiguse

    The Japanese language is notorious for its sentence ending particles. Personal preference of such pa ...

  4. Hashtable 删除元素, 抛出异常 java.util.ConcurrentModificationException

    今天在对一个Hashtable对象进行 搜索 -> 删除 操作时遇到的一个问题,开始的使用我使用的是Hashtable的Iterator,然后直接执行: Hashtable.remove(key ...

  5. max,min,Zip函数(十一)

    zip函数,拉链,传两个有序的参数,将他们一一对应为元祖形式 max,min比较默认比较一个元素,处理的是可迭代对象,相当于for循环取出每个元素进行比较,注意:不同类型之间不可比较 #!/usr/b ...

  6. 【leetcode】 Merge Intervals

    Merge Intervals Given a collection of intervals, merge all overlapping intervals. For example,Given  ...

  7. 安装MACOS操作步骤详解

    安装MACOS操作步骤详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于安装MAC的操作系统其实大家都知道可以让客服帮忙提供软件上的支持,而且苹果客服都很有礼貌呢,而且非常的 ...

  8. Ansible拷贝文件遇到的问题

    ansible报错Aborting, target uses selinux but python bindings (libselinux-python) aren't installed 报错内容 ...

  9. Hbase记录-ZooKeeper API

    Zookeeper API ZooKeeper有一个Java和C绑定的官方API.ZooKeeper社区提供了对于大多数语言(.NET,Python等)的非官方API.使用ZooKeeper的API, ...

  10. C# 优化程序的四十七种方法

    一.用属性代替可访问的字段 1..NET数据绑定只支持数据绑定,使用属性可以获得数据绑定的好处: 2.在属性的get和set访问器重可使用lock添加多线程的支持. 二.readonly(运行时常量) ...