windows11添加自定义右键菜单

41 阅读2分钟

本文为了方便使用右键菜单压缩图片,决定在 windows11的文件上右键菜单里面添加一个项目用于自动执行压缩图片功能

 

使用到的工具

这里我习惯把 Caesiumclt 保存在 d:/programe files 下,其实路径可以随意存放。

 

添加

添加自定义菜单

运行 easy contet menu, 打开列表编辑器

 

添加自定义命令

caseiumCLI 压缩图片的具体命令使用

caesiumclt -q 85 --same-folder-as-input image.jpg

如果按上图直接添加命令是可以完成我们想要实现的功能的,但是运行时会弹出窗口并自动消失。

 

隐藏控制台窗口

弹出窗口的原因

这是一个非常经典的 Windows 命令行工具问题。caesiumclt 是一个控制台应用程序(Console Application),Windows 默认会在运行时调用 cmd.exe 来承载它,所以你会看到那个黑框一闪而过。

 

解决方案

中心思想:借用 VBScript 脚本调用目标程序

 

要实现“完全静默(无窗口)”运行,我们需要在 caesiumclt 和 Windows 之间加一层“消音器”。最简单、最原生(无需下载第三方软件)的方法是使用 vbscript 脚本去调用目标程序(在安全方向经常能看到此方案,常用来 RCE,保活等。)

VBScript 调用目标程序

在 caesiumclt.exe 目录下编写以下 vbs

Set WshShell = CreateObject("WScript.Shell")

' 检查是否有文件传入
If WScript.Arguments.Count > 0 Then
    inputFile = WScript.Arguments(0)
    
    ' === 配置区域 Start ===
    ' 请务必修改下面的路径为你 caesiumclt.exe 的实际绝对路径
    exePath = "D:\Program Files\caesiumclt\caesiumclt.exe"
    
    ' 这里是你的参数,注意保留空格
    args = " -q 85 --same-folder-as-input "
    ' === 配置区域 End ===

    ' 拼接完整命令,注意处理路径中的空格问题
    command = """" & exePath & """" & args & """" & inputFile & """"

    ' 最后的 0 表示隐藏窗口,True 表示等待程序执行完毕
    WshShell.Run command, 0, True
End If

 

修改 Easy Context Menu 的自定义命令,添加 vbs 脚本路径

 

保存后,右键测速运行测试。

link_logo.jpg