116 lines
4.4 KiB
Batchfile
116 lines
4.4 KiB
Batchfile
@echo off
|
|
setlocal
|
|
|
|
title Quick XMake 右键菜单安装
|
|
echo =========================================
|
|
echo Quick XMake - 右键菜单安装工具
|
|
echo =========================================
|
|
echo.
|
|
|
|
REM 获取当前目录
|
|
for %%I in ("%~dp0.") do set "TOOLDIR=%%~fI"
|
|
set "DLLPATH=%TOOLDIR%\quick-xmake.dll"
|
|
|
|
REM 检查 DLL 文件是否存在
|
|
if not exist "%DLLPATH%" (
|
|
echo 错误: quick-xmake.dll 未找到
|
|
echo 请将此批处理文件与 quick-xmake.dll 放在同一目录
|
|
echo.
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo 正在安装右键菜单...
|
|
echo.
|
|
|
|
REM 清理旧的注册表项
|
|
echo 清理旧的注册表项...
|
|
reg delete "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake" /f 2>nul
|
|
|
|
REM 创建一级菜单
|
|
echo 创建一级菜单...
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake" /ve /d "" /f
|
|
if %errorlevel% neq 0 (
|
|
echo 错误: 创建一级菜单失败
|
|
goto :error
|
|
)
|
|
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake" /v "MUIVerb" /d "quick-xmake" /f
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake" /v "Icon" /d "%%SystemRoot%%\System32\shell32.dll,50" /f
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake" /v "SubCommands" /d "" /f
|
|
|
|
REM 创建二级菜单项
|
|
echo 创建二级菜单项...
|
|
|
|
REM 二级菜单:Create
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\create" /ve /d "" /f
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\create" /v "MUIVerb" /d "Create" /f
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\create\command" /ve /d "rundll32.exe \"%DLLPATH%\",ContextMenuHandler \"%%V\" 0" /f
|
|
|
|
REM 二级菜单:Build
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\build" /ve /d "" /f
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\build" /v "MUIVerb" /d "Build" /f
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\build\command" /ve /d "rundll32.exe \"%DLLPATH%\",ContextMenuHandler \"%%V\" 1" /f
|
|
|
|
REM 二级菜单:Set debug mode
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\set-debug" /ve /d "" /f
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\set-debug" /v "MUIVerb" /d "Set debug mode" /f
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\set-debug\command" /ve /d "rundll32.exe \"%DLLPATH%\",ContextMenuHandler \"%%V\" 2" /f
|
|
|
|
REM 二级菜单:Set release mode
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\set-release" /ve /d "" /f
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\set-release" /v "MUIVerb" /d "Set release mode" /f
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\set-release\command" /ve /d "rundll32.exe \"%DLLPATH%\",ContextMenuHandler \"%%V\" 3" /f
|
|
|
|
REM 二级菜单:Run
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\run" /ve /d "" /f
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\run" /v "MUIVerb" /d "Run" /f
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\run\command" /ve /d "rundll32.exe \"%DLLPATH%\",ContextMenuHandler \"%%V\" 4" /f
|
|
|
|
REM 二级菜单:Template
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\template" /ve /d "" /f
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\template" /v "MUIVerb" /d "Template" /f
|
|
reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\quick-xmake\shell\template\command" /ve /d "rundll32.exe \"%DLLPATH%\",ContextMenuHandler \"%%V\" 5" /f
|
|
|
|
echo.
|
|
echo =========================================
|
|
echo 安装成功!
|
|
echo =========================================
|
|
echo.
|
|
echo 菜单结构:
|
|
echo 在文件夹空白处右键 =》 quick-xmake =》
|
|
echo ├── Create
|
|
echo ├── Build
|
|
echo ├── Set debug mode
|
|
echo ├── Set release mode
|
|
echo └── Run
|
|
echo.
|
|
echo 注意事项:
|
|
echo 1. 本脚本已自动以管理员权限运行
|
|
echo 2. 新菜单需要重新打开资源管理器才能显示
|
|
echo 3. 需要重启资源管理器吗?
|
|
echo.
|
|
choice /c YN /n /m "重启资源管理器 (Y/N): "
|
|
if %errorlevel% equ 1 (
|
|
echo 正在重启资源管理器...
|
|
taskkill /f /im explorer.exe >nul 2>&1
|
|
start explorer.exe
|
|
echo 资源管理器已重启
|
|
) else (
|
|
echo 您可以选择稍后手动重启资源管理器
|
|
echo 或重新打开文件夹查看新菜单
|
|
)
|
|
echo.
|
|
pause
|
|
exit /b 0
|
|
|
|
:error
|
|
echo.
|
|
echo 安装过程中出现错误,请检查:
|
|
echo 1. 是否以管理员身份运行
|
|
echo 2. 注册表权限是否正常
|
|
echo 3. 文件路径是否包含特殊字符
|
|
echo 4. DLL文件是否被其他程序占用
|
|
echo.
|
|
pause
|
|
exit /b 1 |