练习一下注册表操作和控制台操作。
通过修改注册表,实现以下两个功能:
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();
