新成员 刚刚做好的修改鼠标滚轮方向的小软件

By h5angj1e at 2022-11-22 • 0人收藏 • 870人看过
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
2022-11-23   #1

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

2022-11-23   #2

众所周知,当我们打开任何一个比屏幕大的页面都是手指从上往下抠滚轮,时间久了手腕容易损伤,如果滚轮设置成反向可以明显解决这个问题,一般都是按照网上的教程查看鼠标硬件路径然后在注册表里面修改指定的键值,但是如果鼠标的硬件地址发生了改变,比如换了usb口,就要重设,所以做了这个,但是要重启才能生效,如果有大神能够设置成及时生效就太好了

2022-11-23   #3

谢谢分享

2022-11-23   #4

回复#2 @h5angj1e :

设置成反向伤手指啊。。

2022-11-23   #5

回复#4 @hi_aardio :

伤手指可以换手指,伤手腕得换手

2022-11-23   #6

还记得老大提供的鼠标左右键互换指令

::User32.SwapMouseButton( !::User32.GetSystemMetrics( 0x17/*_SM_SWAPBUTTON*/ ) )

运行一次换一下,哈哈

登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...