新成员 刚刚做好的修改鼠标滚轮方向的小软件
By
h5angj1e
at 2022-11-22 • 0人收藏 • 1081人看过
import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=391;bottom=415;bgcolor=3355443;border="thin";exmode="toolwindow")
winform.add(
FlipFlopWheel0={cls="button";text="全部正向";left=16;top=368;right=152;bottom=400;bgcolor=3355443;color=13421772;db=1;dl=1;z=2};
FlipFlopWheel1={cls="button";text="全部反向";left=240;top=368;right=376;bottom=400;bgcolor=3355443;color=13421772;db=1;dr=1;z=3};
static={cls="static";text="FlipFlopWheel = 0是正常, = 1是反向";left=16;top=8;right=376;bottom=24;color=13421772;dl=1;dr=1;dt=1;transparent=1;z=4};
treeview={cls="treeview";left=16;top=32;right=376;bottom=352;asel=false;bgcolor=3355443;color=13421772;db=1;dl=1;dr=1;dt=1;edge=1;hscroll=1;vscroll=1;z=1}
)
/*}}*/
//import console;
import win.reg;
import win.ui.tooltip;
//仅打开已存在的路径,鼠标路径
var mousePath = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID";
var reg = win.reg(mousePath,true);
//没用上的提示控件
var tooltipCtrl = win.ui.tooltip(winform);
//硬件表,用于渲染上屏
var tb = {};
//注册表对象
var regCtrls = {};
var regInit = function(){
//硬件记数
var count = 0;
winform.treeview.clear();
//枚举子项、以及子项的所有子项
reg.enumKey(
function(
subKey, /*这是某个子节点(win.reg对象)*/
keyname/*这是reg子节点的一个子项的名字*/
){
var dp = "Device Parameters";
if(keyname == dp){
var valPath = subKey.path + "\" + dp ;
var val = win.reg(valPath,true);
if(val.queryValue("FlipFlopWheel") != null){
count++
//替换前半部分的路径
var DriverPath = string.replace(subKey.path,"@" + mousePath,"");
//取滚轮的值,0或1
var FlipFlopWheel = val.queryValue("FlipFlopWheel");
//保存注册表对象到表用于修改值
regCtrls[[DriverPath]] = val;
//赋值上屏的表
tb[[DriverPath]] = {
"FlipFlopWheel" = FlipFlopWheel;
}
winform.text = "当前滚轮方向:" + (FlipFlopWheel ? "反向" :"正向");
winform.text = winform.text + "(" + count +"个鼠标实例)";
}
}
}
)
winform.treeview.insertTable(tb);
winform.treeview.expandAll();
}
//初始化的时候上屏
regInit();
import win.dlg.message;
//改注册表的方法
var changeMouseFlipFlopWhee = function(falg){
for(k,v in regCtrls){
//改注册表
v.setDwValue("FlipFlopWheel",falg);
};
//提示
winform.msgOk((falg ? '完成反向' :'完成正向' )+ ", 重启生效",500);
//上屏
regInit();
}
winform.FlipFlopWheel0.oncommand = function(id,event){
changeMouseFlipFlopWhee(0)
}
winform.FlipFlopWheel1.oncommand = function(id,event){
changeMouseFlipFlopWhee(1)
}
winform.show();
win.loopMessage();
6 个回复 | 最后更新于 2022-11-23
登录后方可回帖

因为注册表的路径总是很难记又难找,所以用万能因为注册表的路径总是很难记又难找,所以用万能的AARDIO写了一个小程序的AARDIO写了一个小程序