批处理 制作右键二级菜单,给文件名或文件夹名添加前缀,字样为二级菜单内容,如:(作废)模具问题汇总

右键菜单上添加一个二级菜单,并且可以自定义该二级菜单,就像右键菜单上有个发送到,单击发送到后,有桌面快捷方式……,我想要的就是类似这样结构的右键菜单,我不知道怎么改注册表,一级菜单称为状态组,单击后,出现了二级菜单,二级菜单里有作废、失效、试用等按钮,单击任一按钮,可以将文件名或文件夹名之前添加该字样,例如:(作废)模具问题汇总.DOCX

您之前说过,您的系统是XP的,那么那个右键二级菜单根本不适用。

如果是Vista及其以上的系统,倒是可以完美实现。

以下是我在Win7上通过测试的注册表内容

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\AddPrefix]
"SubCommands"="Add.Trial;Add.Void"
"MUIVerb"="添加前缀"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Add.Trial]
@="试用"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Add.Trial\command]
@="D:\\Test.bat \"Trial\" \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Add.Void]
@="作废"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Add.Void\command]
@="D:\\Test.bat \"Void\" \"%1\""

以下是Test.bat,测试脚本的内容

@echo off & title 测试脚本 By 依梦琴瑶

if "%~1"=="" exit
if "%~2"=="" exit

goto :%~1
exit

:Trial
echo (试用)%~nx2
pause
exit

:Void
echo (作废)%~nx2
pause
exit

XP未能测试通过,所以只能贴出代码,来给您看看了!

追问

你好 确实未能完美实现,如图,

您还能帮我想想办法吗

追答

把作废,试用,添加到“发送到”里面怎么样?也只能暂时用那样的方式解决了。

追问

不太爽 最好还是一级菜单和子菜单那样 对 就像你的WIN7那样

追答

那抱歉了。XP上找不到解决的方案,起码我的能力有限,无法解决。

追问

依然感谢兄台!常联系!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-24
include <QtCore/QCoreApplication>
#include <QAxObject>
#include <Windows.h>
int main(int argc, char *argv[])
{
//OleInitialize(0);
//CoInitialize(0);
QCoreApplication a(argc, argv);
QAxObject *asdfg = new QAxObject("Excel.Application");
return a.exec();
}追问

你好 请教你个问题 如何在XP系统上增加一个右键快捷菜单及子菜单 最好是注册表文件 谢谢