用魔法打败魔法——获取软件安装路径

news2025/4/21 15:22:35

用魔法打败魔法——获取软件安装路径


🌟嗨,我是LucianaiB!

🌍 总有人间一两风,填我十万八千梦。

🚀 路漫漫其修远兮,吾将上下而求索。


目录

  • 背景
  • 普通方法
  • 用魔法一句话
    • 1.首先新建‘PC自动化应用’
    • 2.点击‘魔法指令’
    • 3.输入提示词
    • 4.测试与结果输出
  • 总结

背景

在一个慵懒的周末午后,我正享受着悠闲的时光,突然一个念头闪过脑海:下载一款新软件来试试。于是,我随手在某个不知名的小网站上找到了一个看起来很有趣的软件,兴冲冲地下载并安装了它。然而,没过多久我就后悔了,这软件不仅功能鸡肋,还时不时弹出烦人的广告,简直是个垃圾软件!我决定立刻卸载它,可当我打开卸载程序(使用过Geek),却发现它并没有完全清除所有文件(如果不服的,我告诉你软件,你来试试卸载),残留的文件让我感到十分不爽。我心想,一定要找到这个软件的安装路径,彻底清理掉它,让我的电脑恢复干净整洁。

在这里插入图片描述

普通方法

我首先想起了一种常见的方法。在安装软件的时候,我隐约记得有个快捷键组合可以打开任务管理器。于是,我迅速按下 Esc+Shift+Ctrl 这三个键,任务管理器果然出现了。我仔细在任务管理器中寻找那个垃圾软件的进程,找到了之后,我毫不犹豫地右键点击它,选择了“打开文件所在位置”。任务管理器很听话地帮我定位到了软件的安装文件夹,我长舒一口气,开始手动删除那些残留的文件。虽然这个方法有点麻烦,但好在最终还是解决了问题。不过,我心里还是有点不甘心,难道就没有更简单、更高效的方法吗?

在这里插入图片描述

用魔法一句话

就在我陷入沉思的时候,我突然先到影刀最近新出了魔法指令3.0上线,挑战用AI替代我的工作。根据介绍,这个工具可以通过简单的指令来完成各种复杂的电脑操作,简直就是电脑操作界的“魔法棒”。我半信半疑,但还是决定试一试,说不定真的能找到更便捷的方法呢。

1.首先新建‘PC自动化应用’

在这里插入图片描述

2.点击‘魔法指令’

在这里插入图片描述

3.输入提示词

在影刀界面输入需求,它就会自动去编写代码:

请帮我找到名为:我会给你窗口对象(例如微信)的桌面软件程序的完整安装路径,并返回完整文件路径

在这里插入图片描述

4.测试与结果输出

我们点击运行试试效果

在这里插入图片描述

成功运行后,影刀RPA输出了微信的安装路径,接下来就是找到垃圾软件的位置进行删除,整个指令执行结果输出仅需3秒!

再试试其他的应用,例如Pycharm,出现下图

在这里插入图片描述

原来是我这里是根据窗口去找,而Pycharm在窗口的名字是main.py,那么我们来搜索main.py试试,成功找到Pycharm的安装位置。

在这里插入图片描述

附魔法指令生成的python代码:

# 使用此指令前,请确保安装必要的Python库:
# pip install pywin32 psutil

import win32gui
import win32process
import psutil
import os

from typing import *
try:
    from xbot.app.logging import trace as print
except:
    from xbot import print


def get_application_path(window_title):
    """
    title: 获取软件安装路径
    description: 根据窗口标题查找桌面应用程序的安装路径,支持模糊匹配窗口标题,返回完整的可执行文件路径。
    inputs: 
        - window_title (str): 窗口标题,eg: "微信"
    outputs: 
        - path (str): 程序安装路径,eg: "C:\\Program Files\\WeChat\\WeChat.exe"
    """
    
    # 定义一个列表来存储找到的窗口和对应的路径
    result = {}
    
    def _enum_windows_callback(hwnd, _):
        if win32gui.IsWindowVisible(hwnd):
            title = win32gui.GetWindowText(hwnd)
            if window_title.lower() in title.lower():
                try:
                    # 获取窗口关联的进程ID
                    _, pid = win32process.GetWindowThreadProcessId(hwnd)
                    # 使用进程ID获取进程信息
                    process = psutil.Process(pid)
                    # 获取进程的可执行文件路径
                    exe_path = process.exe()
                    if os.path.exists(exe_path):
                        result[title] = exe_path
                except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
                    pass
        return True
    
    # 枚举所有窗口
    win32gui.EnumWindows(_enum_windows_callback, None)
    
    # 如果找到多个匹配的窗口,返回所有结果
    if not result:
        return f"未找到标题包含'{window_title}'的窗口"
    
    # 格式化输出结果
    if len(result) == 1:
        title, path = next(iter(result.items()))
        return path
    else:
        # 如果找到多个结果,返回第一个
        first_title, first_path = next(iter(result.items()))
        return first_path

总结

普通方法Esc+Shift+Ctrl
AI一句提示词

在这个慵懒的周末午后,我下载了一个看起来很有趣的软件,但很快发现它不仅功能鸡肋,还弹出烦人的广告。我决定卸载它,却发现残留文件让我头疼不已。于是,我尝试了传统的手动方法,通过快捷键Esc+Shift+Ctrl打开任务管理器,找到软件进程并手动删除文件。虽然最终解决了问题,但过程繁琐且效率低下。

就在我思考是否有更高效的方法时,我想到了影刀的魔法指令3.0。我半信半疑地尝试了这个工具,结果让我惊喜不已。我首先新建了一个“PC自动化应用”,然后点击“魔法指令”,输入提示词:“请帮我找到名为……的桌面软件程序的完整安装路径,并返回完整文件路径”。点击运行后,影刀仅用3秒就成功输出了软件的安装路径,我轻松地清理了残留文件。

这次经历让我深刻体会到科技的力量和便捷性。影刀的魔法指令3.0就像一位智能助手,通过简单的指令就能快速完成复杂的任务。它不仅帮我找到了垃圾软件的安装路径,还清理了电脑上的残留文件,甚至还能主动发现并解决潜在问题。这次经历让我认识到,合理利用科技工具可以大大提高我们的工作效率和生活质量。在未来,我将继续探索更多类似的工具,让科技为我的生活带来更多便利。同时,我也提醒大家在下载软件时一定要谨慎,避免不必要的麻烦。

嗨,我是LucianaiB。如果你觉得我的分享有价值,不妨通过以下方式表达你的支持:👍 点赞来表达你的喜爱,📁 关注以获取我的最新消息,💬 评论与我交流你的见解。我会继续努力,为你带来更多精彩和实用的内容。

点击这里👉LucianaiB ,获取最新动态,⚡️ 让信息传递更加迅速。

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

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

相关文章

【排队论】Probabilistic Forecasts of Bike-Sharing Systems for Journey Planning

Probabilistic Forecasts of Bike-Sharing Systems forJourney Planning abstract 我们研究了对共享单车系统(BSS)车站未来自行车可用性进行预测的问题。这是相关的,以便提出建议,保证用户能够进行旅行的概率足够高。为此&#x…

高精度算法(加、减、乘、除、阶乘和)​

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 唯有主动付出,才有丰富的果…

实战设计模式之备忘录模式

概述 与解释器模式、迭代器模式一样,备忘录模式也是一种行为设计模式。备忘录模式允许我们保存一个对象的状态,并在稍后恢复到这个状态。该模式非常适合于需要回滚、撤销或历史记录等功能的应用场景。通过使用备忘录模式,开发者可以轻松添加诸…

吉尔吉斯斯坦工商会代表团赴齐河德瑞新能源汽车考察

德州齐河,2025年4月15日电 时中美贸易突变之际,乘国家一带一路之风。 展中国新能源之宏图,塑国贸体系之新方向。 今日上午,吉尔吉斯斯坦共和国工商会代表团一行三人受邀抵达济南,开启对德瑞新能源科技有限公司&…

无人机在农业中的应用与挑战!

一、无人机在农业中的作用 1. 提升作业效率与降低成本 无人机在喷洒农药、播种、施肥、吊运等环节显著提升效率。例如,湖北秭归县使用大疆T100无人机吊运脐橙,单次85公斤的运输任务仅需2分钟,而人工需1小时,综合成本降低250元…

QT网络拓扑图绘制实验

前言 在网络通讯中,我qt常用的是TCP或者UDP协议,就比方说TCP吧,一台服务器有时可能会和多台客户端相连接,我之前都是处理单链接情况,最近研究图结构的时候,突然就想到了这个问题。那么如何解决这个问题呢&…

支持中文对齐的命令行表格打印python库——tableprint

文章目录 快速入门 还在为表格中含有中文,命令行打印无法对齐而苦恼吗? 还在为冗长的数据添加代码而抓狂吗? tableprint来了!!!,它完美的解决了上述两个问题,快来试试吧!…

从《周游记3》演绎歌剧版《菊花台》,周杰伦婚礼曲目意大利文版惊喜亮相

今天(4月19日)22:00,由魔胴西西里咖啡冠名的户外实境互动综艺《周游记3》第四期即将播出。本期节目中,“J式之旅”发起人周杰伦和林暐恒、杜国璋、陈冠霖、陈冠廷,将继续意大利之旅,从那不勒斯的百年老店到…

生物化学笔记:医学免疫学原理23 免疫检查点分子与肿瘤免疫治疗(PD-1抑制剂黑色素瘤)

免疫检查点分子与肿瘤免疫治疗 免疫检查点分子与肿瘤免疫治疗-2

CasualLanguage Model和Seq2Seq模型的区别

**问题1:**Causal Language Modeling 和 Conditional Generation 、Sequence Classification 的区别是什么? 因果语言模型(Causal Language Model): 预测给定文本序列中的下一个字符,一般用于文本生成、补全句子等,模型…

verilog float mult

module pipe_float_mul(input wire clk ,// 时钟信号input wire en ,// 使能信号input wire rst_n ,// 复位信号input wire round_cfg ,// 决…

微信小程序调用yolo目标检测模型

目录 后端 前端微信小程序 完整代码 后端 利用Flask,调用目标检测模型,后端代码如下。 # flask_yolo.py from flask import Flask, request, jsonify from ultralytics import YOLO from PIL import Imageapp Flask(__name__) model_path best.p…

Flink框架十大应用场景

Flink框架适合应用的场景 1. 流式数据处理 Flink框架最常用的应用场景是流式数据处理。流式数据处理是指对实时数据进行处理,以便及时地做出决策。例如,一个电商网站需要对用户的行为进行实时分析,以便根据用户的兴趣和行为推荐商品。Flink框架可以帮助电商网站实时地处理数…

【android telecom 框架分析 01】【基本介绍 2】【BluetoothPhoneService为何没有源码实现】

1. 背景 我们会在很多资料上看到 BluetoothPhoneService 类,但是我们在实际 aosp 中确找不到具体的实现, 这是为何? 这是一个很好的问题!虽然在车载蓝牙电话场景中我们经常提到类似 BluetoothPhoneService 的概念,但…

【Harmony】文本公共接口EditMenuOptions的使用

文章目录 一、EditMenuOptions介绍二、相关接口介绍2.1、editMenuOptions2.2、EditMenuOptionsonCreateMenu函数说明onMenuItemClick函数说明 2.3、TextRange对象说明2.4、TextMenuItem对象说明2.5、TextMenuItemId属性ofequals 三、简单案例 一、EditMenuOptions介绍 EditMen…

《软件设计师》复习笔记(14.1)——面向对象基本概念、分析设计测试

目录 一、面向对象基本概念 对象(Object) 类(Class) 抽象(Abstraction) 封装(Encapsulation) 继承(Inheritance) 多态(Polymorphism&#…

JS中实现类似sleep、wait、delay的延时功能

前言 编写代码时很多时候需要进行流程化的操作,各个流程间通常需要等待一定时间,这在很多语言中通常可以使用 sleep 、 wait 、 delay 等函数来实现。JavaScript原生并没有类似的功能,想要延时通常就是使用 setTimeout(functionRef, delay) …

Banana Pi BPI-RV2 RISC-V 路由器开发板发售, 全球首款RISC-V路由器

Banana Pi BPI-RV2 开源路由器是矽昌通信和⾹蕉派开源社区(Banana Pi )合作设计, 联合打造全球首款RISC-V架构路由器开发板。 这是香蕉派开源社区与矽昌通信继BPI-Wifi5 低成本Wifi5 路由器合作之后的又一力作,为全球开发者与商业客户提供基于…

MAUI项目iOS应用以进 App Store 分发

目录 一.通过Visual Studio分发应用1. 登录Apple 开发者帐户到 Visual Studio2.创建分发证书和配置文件3. 分发应用4. 在App Store Connect 中创建应用程序记录5. 如果你想使用mac发布应用 一.通过Visual Studio分发应用 1. 登录Apple 开发者帐户到 Visual Studio 首先我们要…

CentOS 7系统yum报错解决方案(CentOS 7官方EOL问题修复)

摘要 解决CentOS 7因EOL导致的yum update报错问题,通过替换阿里云镜像源恢复软件安装功能,包含详细操作步骤、操作截图、验证方法与备选镜像源,附有安全风险提示。 一、故障现象与原因分析 1.1 典型报错信息 # 执行yum命令时出现&#xff…