Python打发无聊时光:13.用pywin32库制作电脑本地快捷应用

news2024/11/25 20:51:18

第一步:新建一个simple_app.py

装pywin32库

pip install pywin32

新建一个simple_app.py,复制下面代码,或者可以自己设计内容

import tkinter as tk

class AnimatedGUI:
    def __init__(self, root):
        self.root = root
        self.root.title("玩个球")

        # 创建一个Canvas用来绘制动画
        self.canvas = tk.Canvas(self.root, width=600, height=400)
        self.canvas.pack()

        # 创建一个球体
        self.ball = self.canvas.create_oval(10, 10, 60, 60, fill='blue')

        # 球体的移动速度
        self.dx = 2
        self.dy = 2
        self.running = True

        # 创建控制按钮
        self.btn_frame = tk.Frame(self.root)
        self.btn_frame.pack(fill=tk.X, side=tk.BOTTOM)

        self.start_btn = tk.Button(self.btn_frame, text="开始/停止", command=self.toggle_animation)
        self.start_btn.pack(side=tk.LEFT)

        self.exit_btn = tk.Button(self.btn_frame, text="退出", command=self.root.destroy)
        self.exit_btn.pack(side=tk.RIGHT)

        # 开始动画
        self.animate()

    def animate(self):
        if self.running:
            # 获取球体当前的坐标
            coords = self.canvas.coords(self.ball)
            if coords[2] >= 600 or coords[0] < 0:
                self.dx = -self.dx
            if coords[3] >= 400 or coords[1] < 0:
                self.dy = -self.dy

            # 移动球体
            self.canvas.move(self.ball, self.dx, self.dy)

        # 每隔33毫秒重新调用动画函数(大约30帧每秒)
        self.root.after(33, self.animate)

    def toggle_animation(self):
        self.running = not self.running

if __name__ == "__main__":
    root = tk.Tk()
    app = AnimatedGUI(root)
    root.mainloop()

第二步:新建一个main.py

新建一个main.py或其它的文件名,复制下面代码

import os
import sys
from win32com.client import Dispatch

shortcut_dir = "D:\\"

# 快捷方式的名称
shortcut_name = "MySimpleApp"

# 脚本文件名
script_filename = "simple_app.py"

# 脚本所在文件夹路径,确保修改为你的实际路径
script_folder_path = r"C:\Users\Lenovo\PycharmProjects\Graduation_Project_XZE\venv"

# 完整的脚本路径
script_path = os.path.join(script_folder_path, script_filename)

# 验证脚本是否存在
if not os.path.isfile(script_path):
    print(f"脚本文件不存在: {script_path}")
    sys.exit(1)

# Python 解释器的位置
python_exe = sys.executable

# 快捷方式的完整路径
shortcut_path = os.path.join(shortcut_dir, f"{shortcut_name}.lnk")

# 创建快捷方式
shell = Dispatch('WScript.Shell')
shortcut = shell.CreateShortCut(shortcut_path)

# 设置快捷方式的目标路径
shortcut.Targetpath = python_exe

# 设置工作目录
shortcut.WorkingDirectory = script_folder_path

# 设置快捷方式的参数
shortcut.Arguments = f'"{script_path}"'

# 如果你有自定义图标,请将这里替换为图标路径,否则使用默认Python图标
shortcut.IconLocation = python_exe

# 尝试保存快捷方式
try:
    shortcut.save()
    print(f"快捷方式已创建在:{shortcut_path}")
except Exception as e:
    print(f"无法创建快捷方式: {e}")

将shortcut_dir赋值为你想让快捷方式存在的位置,script_folder_path改为simple_app.py的绝对路径,获取绝对路径只需要在左侧项目窗口,右键点击文件,选择“复制路径/引用”

第三步:运行.link文件,观察结果

找到你保存的路径,点开.link文件,观察结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1493254.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python爬虫——Requests

目录 简介 基本使用​编辑 ​编辑 安装 一个类型和六个属性 请求类型 GET 代码示例 POST 代码示例 代理 古诗文网绕过验证码登录 总结 简介 Python的Requests库是一个用于发送HTTP请求的常用库。它提供了简单且人性化的API&#xff0c;使得发送HTTP请求变得非常容易。…

【嵌入式——QT】QTableWidget

表格小部件为应用程序提供标准的表格显示功能。QTableWidget中的项由QTableWidgetItem提供。 如果你想要一个使用你自己的数据模型的表&#xff0c;你应该使用QTableView而不是这个类。 常用函数 cellWidget(int row, int column) const&#xff1a;返回显示在给定行和列的单…

嵌入式 Linux 开发的基本概念 及 学习路线

原文链接&#xff1a;https://www.cnblogs.com/DSCC2020/p/13787321.html 1.嵌入式 Linux 开发的基本概念 1.1嵌入式 Linux 的组成 嵌入式 Linux 系统&#xff0c;就相当于一套完整的 PC 软件系统&#xff0c;如下图所示&#xff1a; 1.2嵌入式 Linux 的日常开发流程 Bootloa…

【深度学习】实验10 使用Keras完成逻辑回归

文章目录 使用Keras完成逻辑回归1. 导入Keras库2. 生成数据集3. 构造神经网络模型4. 训练模型5. 测试模型6. 分析模型 附&#xff1a;系列文章 使用Keras完成逻辑回归 Keras是一个开源的深度学习框架&#xff0c;能够高效地实现神经网络和深度学习模型。它由纽约大学的Francoi…

MS5192TA/MS5193TA低噪声、低功耗、16/24 位 ∑-ΔADC

产品简述 MS5192TA/MS5193TA 是一款适合高精度测量应用的低功耗、低 噪声、三通道差分输入的 16bit/24bit 模数转换器。其内部集成了输 入缓冲器、低噪声仪表放大器&#xff0c;当增益设置为 64 &#xff0c;更新速率为 4.17Hz 时&#xff0c;均方根噪声为 25nV 。集…

uniapp自定义底部导航

我这边使用的是uview组件库&#xff0c;进行开发的&#xff01; <template><view class"footer-bar"><u-tabbar :value"select ? select : 0" change"changeTab" :border"true" :fixed"true" :placeholde…

2025汤家凤考研数学,基础视频课程+百度网盘+PDF真题讲解

平时大家都半开玩笑地讲&#xff1a;我数学想要考150分&#xff01;那索性今天这一期&#xff0c;今天认真和大家聊一下&#xff1a; 想考到考研数学150分&#xff0c;应该如何准备&#xff1f; 如果还有小伙伴不知道在哪看汤神的ke&#xff0c;可以看一下以下 2025汤神全程…

JVM入门篇(面试前速补)

近期看看JVM&#xff0c;看了狂神说入门教学&#xff0c;总结下给大家。 文章目录 1、JVM的位置2、JVM的结构体系3、类加载器及双亲委派机制3.1、类加载器作用3.2、类加载器类型3.3、双亲委派机制 * 4、沙箱安全机制5、Native、方法区5.1、Native&#xff08;本地方法栈引用&a…

算法设计.

文章目录 1. 贪心算法&#xff1a;只看当前1.1 零钱兑换问题&#xff1a;力扣322 2. 活动选择问题3. 动态规划3.1 不同路径&#xff1a;3.2 0-1背包问题3.3 完全背包问题3.4 零钱兑换-动态规划 4. 最长公共字串--动态规划5. 最长公共子序列6. 最长递增子序列7. 打家劫舍8. 全排…

从mysql 数据库表导入数据到elasticSearch的几种方式

从MySQL数据库导入数据到Elasticsearch有几种方式&#xff0c;主要包括以下几种&#xff1a; 1. 使用Logstash&#xff1a; Logstash是一个开源的数据收集引擎&#xff0c;可以用来从不同的数据源导入数据到Elasticsearch。它具有强大的数据处理能力和插件生态系统&…

信息熵、KL散度、交叉熵、互信息、点互信息

信息熵 信息量 信息量是对信息的度量&#xff0c;衡量事件的不确定性&#xff0c;越小概率的事件发生了产生的信息量越大。我们应该用什么形式的函数表达信息量呢&#xff1f;除了随着概率增大而减少&#xff0c;这个函数还有具有以下性质&#xff1a; 如果有两个事件x和y彼…

利用Python爬取高德地图全国地铁站点信息

利用Python中的requests库进行地铁站点信息的获取,同时将数据保存在本机excel中 # 首先引入所需要的包 import requests from bs4 import BeautifulSoup import pandas as pd import json# 发送 GET 请求获取网页内容 url http://map.amap.com/subway/index.html response r…

K线实战分析系列之二十三:塔形顶部和塔形底部

K线实战分析系列之二十三&#xff1a;塔形顶部和塔形底部 一、塔形顶部和塔形底部二、塔形顶部和塔形底部总结 一、塔形顶部和塔形底部 塔形顶部&#xff1a;预示着阶段性顶部的形成 塔型底部&#xff1a;预示着阶段性底部的形成 二、塔形顶部和塔形底部总结 形态的两…

字节后端实习 一面凉经

心脏和字节永远都在跳动 深圳还有没有大厂招后端日常实习生啊&#xff0c;求捞&#xff5e;&#xff08;boss小公司也不理我&#xff09; 很纠结要不要干脆直接面暑期实习&#xff0c;又怕因为没有后端实习经历&#xff0c;面不到大厂实习。死锁了

2195. 深海机器人问题(网络流,费用流,上下界可行流,网格图模型)

活动 - AcWing 深海资源考察探险队的潜艇将到达深海的海底进行科学考察。 潜艇内有多个深海机器人。 潜艇到达深海海底后&#xff0c;深海机器人将离开潜艇向预定目标移动。 深海机器人在移动中还必须沿途采集海底生物标本。 沿途生物标本由最先遇到它的深海机器人完成采…

微信公众号公司主体变更怎么办?

公众号迁移的好处有哪些&#xff1f;迁移后原公众号还能用吗&#xff1f;1&#xff09;获得更多权限功能如果公众号是个人主体&#xff0c;想进行认证&#xff0c;拥有更多权限功能。例如菜单栏跳转外部链接&#xff0c;相拥有留言功能&#xff0c;服务号认证获得开发权限等。就…

@德人合科技|公司数据防泄漏软件,防止内部文件数据资料外泄!

现如今&#xff0c;企业都普遍面临数据安全问题的挑战&#xff0c;随着数据泄漏事件不断增加&#xff0c;企业需要强有力的数据防泄漏系统来保护机密信息。 www.drhchina.com 德人合科技 | 公司数据防泄漏软件&#xff0c;防止内部文件数据资料外泄&#xff01; 公司数据防泄漏…

基于springboot的精品在线试题库系统设计与实现(程序+数据库+文档)

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 目录 一、研…

微软研究深度报告:Sora文转视频AI模型全景剖析及未来展望

论文由微软研究团队撰写&#xff0c;这篇论文深入探讨了Sora的发展背景、核心技术、新兴应用场景、现有的局限性以及未来的发展机会&#xff0c;基于公开资料和团队自行进行的逆向工程分析。文中详尽且逻辑清晰&#xff0c;建议细读全文以获得深入了解。 原文&#xff1a;Sora…

优思学院《质量工程师入门攻略2024》

作为一名质量工程师&#xff0c;进入这个行业首先需要理解“质量”的本质含义。质量并非单一维度&#xff0c;而是产品或服务在满足预期程度上的体现。从狭义到广义的质量&#xff0c;涵盖从产品细节到客户满意度的多个方面。 1. 质量的定义是以顾客需求为准 第一&#xff0c…