练习一下注册表操作和控制台操作。
通过修改注册表,实现以下两个功能:
1、给鼠标右键 Edit With Kate 菜单项添加图标
2、将鼠标右键 Edit With Kate 菜单项文本改为“用 Kate 编辑”
版本一:
import console;
console.open()
var hwnd = console.getWindow()
import win
var w,h=win.getScreen()
..win.setPos(hwnd,(w-530)/2,(h-383)/2,530,383,0,0)
console.setTitle("关联鼠标右键【 Edit With Kate 】菜单图标");
console.box(1,1,60,20,console.color.white,"");
console.setColor(,console.color.darkMagenta)
console.setPos(10,1)
console.writeText(' 关联鼠标右键【 Edit With Kate 】菜单图标')
console.setPos(10,5)
console.writeColorText(' 光庆·程序·在线 http://chengxu.online \n\n',console.color.white,console.color.magenta)
import win.reg
var reg = ..win.regWow64(0x80000002/*_HKEY_LOCAL_MACHINE*/,true).open("SOFTWARE\Classes\*\shell\EditWithKate",true);
if !reg {
console.setPos(10,8)
console.writeColorText(' 取kate注册信息失败,请先安装kate!\n\n',console.color.yellow,console.color.red)
} else {
var cmd = reg.open("command").queryValue("");
if !cmd {
console.setPos(10,8)
console.writeColorText(' 取kate启动信息失败,请先安装kate!\n\n',console.color.yellow,console.color.red)
} else {
import string.cmdline
var p = ..string.cmdline(cmd)
if #p {
reg.setSzValue(,"用 Kate 编辑");
if reg.setSzValue("Icon",p[0]){
console.setPos(10,8)
console.writeColorText(' 关联成功! \n\n',console.color.white,console.color.green);
} else {
console.setPos(10,8)
console.writeColorText(' 关联失败! \n\n',console.color.yellow,console.color.red);
}
} else {
console.setPos(10,8)
console.writeColorText(' 取kate文件路径失败! \n\n',console.color.yellow,console.color.red);
}
}
}
console.setPos(10,11)
console.writeText('请按任意键结束!');
console.setCursorVisible(false);
console.getch();

版本二:
import console;
import godking
import win
import fsys.lnk
console.open()
var hwnd = console.getWindow()
var w,h = win.getScreen()
..win.setPos(hwnd,(w-530)/2,(h-383)/2,530,383,0,0)
console.setTitle("关联Kate鼠标右键菜单");
console.box(1,1,60,5,console.color.white,"");
console.setColor(,console.color.darkMagenta)
console.setPos(21,1)
console.writeText(' 关联Kate鼠标右键菜单')
console.setPos(10,3)
console.writeColorText(' 光庆·程序·在线 http://chengxu.online \n\n\n\n',console.color.yellow,console.color.darkMagenta)
console.log(" 当前路径:"++io._exedir,'\n');
var exefile = io.exist(io._exedir++"bin\kate.exe");
if !exefile {
console.setColor(console.color.red);
console.log(" 警告:文件丢失 "++io._exedir++"bin\kate.exe",'\n');
console.log(" 关联:终止!",'\n');
console.log(" 建议:请将本文件放置于kate主目录下!",'\n');
}
else {
console.log(" 主 文 件:"++exefile,'\n');
var lnk = fsys.lnk()
lnk.filename = "Kate"
lnk.filepath = fsys.getSpecial(0/*_CSIDL_DESKTOP*/)
lnk.path = exefile;
if lnk.save() console.log(" 创建桌面快捷方式:成功!",'\n');
else console.log(" 创建桌面快捷方式:失败!",'\n');
if godking.addFileLink("*","用 Kate 编辑",exefile,io._exedir++"bin\kate.exe") {
console.log(" 鼠标右键菜单关联:成功!",'\n')
} else {
console.setColor(console.color.red);
console.log(" 鼠标右键菜单关联:失败!",'\n');
}
}
console.log(' 请按任意键结束!');
console.setCursorVisible(false);
console.getch();

本文介绍如何通过修改注册表实现鼠标右键菜单项的功能定制,包括为菜单项添加图标及更改菜单项文本。
2175

被折叠的 条评论
为什么被折叠?



