首页 > 编程语言 >禁用或解除触摸板或鼠标的程序

禁用或解除触摸板或鼠标的程序

时间:2024-08-13 21:50:28浏览次数:12  
标签:触摸板 right 鼠标 bottom 禁用 hardwareId text mainForm

//RUNAS//
import win.ui;
/*DSG{{*/
mainForm = win.form(text="禁用触摸板";right=757;bottom=503;max=false)
mainForm.add(
buttonJiechu={cls="button";text="解除禁用";left=560;top=120;right=696;bottom=144;z=6};
buttonTrue={cls="button";text="确认禁用";left=400;top=120;right=536;bottom=144;z=4};
buttonshowfile={cls="button";text="显示配置文件";left=624;top=448;right=712;bottom=472;z=10};
comboboxchoose={cls="combobox";left=144;top=88;right=528;bottom=112;edge=1;items={};mode="dropdown";z=2};
richeditresult={cls="richedit";left=48;top=152;right=704;bottom=200;edge=1;multiline=1;readonly=1;z=9};
richedittips={cls="richedit";left=48;top=240;right=704;bottom=440;edge=1;multiline=1;readonly=1;z=8};
static={cls="static";text="触摸板或鼠标禁用/启用";left=192;top=8;right=584;bottom=56;color=255;font=LOGFONT(h=-35);transparent=1;z=1};
static2={cls="static";text="****配置文件生成在与此软件在同级目录,默认打开此软件会隐藏配置文件";left=320;top=480;right=728;bottom=496;transparent=1;z=11};
static3={cls="static";text="请选择要禁用的设备:";left=16;top=88;right=136;bottom=112;transparent=1;z=3};
static4={cls="static";text="开启此程序的情况下,按快捷键解除所有鼠标禁用限制ctrl+9";left=112;top=192;right=640;bottom=248;align="center";center=1;color=255;font=LOGFONT(h=-19;underline=1);transparent=1;z=5};
static5={cls="static";text="Copyright (C) China CiscoLee 2024";left=48;top=480;right=240;bottom=504;transparent=1;z=7}
)
/*}}*/

import console;
import sys.device;
import process.devcon;

//额外方法,增加可修改方法
import fsys.ini;
import fsys;

//配置文件
var ini = fsys.ini("./mydev.ini");
var ClassInfor = ini.read("tab","ClassInfor");
if(null == ClassInfor){
    ini.write("tab","ClassInfor","{4D36E96F-E325-11CE-BFC1-08002BE10318}");
}

//隐藏配置文件
fsys.setAttributes("./mydev.ini",2/*_FILE_ATTRIBUTE_HIDDEN*/)


// 查找所有触摸板设备
var devices = sys.device(ini.read("tab","ClassInfor")/*_GUID_DEVCLASS_MOUSE*/);


//遍历所有设备,并加入选择框
// 遍历找到的触摸板设备
for( index,deviceDesc,hardwareId,T in devices.each( 
    0/*_SPDRP_DEVICEDESC*/, // 添加返回值 deviceDesc
    1/*_SPDRP_HARDWAREID*/ // 添加返回值 hardwareId
    ) ){  
    mainForm.comboboxchoose.add(hardwareId[1]);
    mainForm.richedittips.appendText(index+"号设备描述:"+deviceDesc+'\r\n');
    mainForm.richedittips.appendText(index+"号设备ID:"+hardwareId[1]+'\r\n');
}

//确认禁用按钮
mainForm.buttonTrue.oncommand = function(id,event){
    // 遍历找到的触摸板设备
for( index,deviceDesc,hardwareId,T in devices.each( 
    0/*_SPDRP_DEVICEDESC*/, // 添加返回值 deviceDesc
    1/*_SPDRP_HARDWAREID*/ // 添加返回值 hardwareId
    ) ){  
    //根据选择的选项进行禁用 
    if(mainForm.comboboxchoose.selText==""+hardwareId[1]+""){
        // 禁用触摸板
        process.devcon.disable(hardwareId[1]);
        mainForm.richeditresult.text="您已禁用"+hardwareId[1]+"设备";
    } 
}//for结束

}//确认禁用结束

//按快捷键解除禁用
mainForm.reghotkey( function(id,mod,vk){
// 再次遍历设备以启用触摸板
    for( index,deviceDesc,hardwareId,T in devices.each(0,1) ){  
        process.devcon.enable(hardwareId[1]); // 启用触摸板
        mainForm.richeditresult.text="您已启用所有触摸板及鼠标设备";
    }
},0x2/*_MOD_CONTROL*/,'9'#);

//
mainForm.buttonJiechu.oncommand = function(id,event){
    // 再次遍历设备以启用触摸板
    for( index,deviceDesc,hardwareId,T in devices.each(0,1) ){  
        process.devcon.enable(hardwareId[1]); // 启用触摸板
        mainForm.richeditresult.text="您已启用所有触摸板及鼠标设备";
    }
}

mainForm.buttonshowfile.oncommand = function(id,event){
    fsys.setAttributes("./mydev.ini",0x80/*_FILE_ATTRIBUTE_NORMAL*/);
}

mainForm.show();
return win.loopMessage();

 

标签:触摸板,right,鼠标,bottom,禁用,hardwareId,text,mainForm
From: https://www.cnblogs.com/ciscolee/p/18357769

相关文章

  • 使用DEVCON工具来禁用和启用USB端口的基本指南;DEVCON工具的高级使用方法,帮助你进行更
    DEVCON(DeviceConsole)是一个命令行工具,用于管理设备驱动程序和设备的状态。要禁用USB端口,可以使用DEVCON工具执行相关操作。以下是一个初级使用教程的大纲,帮助你了解如何使用DEVCON禁用USB端口:DEVCON禁用USB端口初级使用教程大纲1. 介绍与准备什么是DEVCON?介绍DEVCON工具......
  • Android设置鼠标显示的屏幕
    @frameworks/native/services/inputflinger/reader/InputReader.cppInputReader::loopOncerefreshConfigurationLocked(changes);@frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cppmPolicy->getReaderConfigurati......
  • vue鼠标点击和滑动锚点
    效果<ulclass="list"><liclass="item"v-for="iteminletters":key="item":ref="item"@click="handleLetterClick"@touchstart.prevent="handleTouchStart&quo......
  • Android 13.0 禁用adb install 安装app功能
    1.前言 在13.0的系统rom产品开发中,在进行一些定制开发中,对于一些app需要通过属性来控制禁止安装,比如adbinstall也不允许安装,所以就需要熟悉adbinstall的安装流程,然后来禁用adbinstall安装功能,接下来分析下adb下的安装流程,来实现相关的功能2.禁用adbinstall安装app功......
  • Jenkins 的 Shell 命令中执行一个 JAR 包时,日志没有显示,如何禁用输出缓冲
    在Jenkins的Shell命令中执行JAR包时,如果日志没有显示且你想禁用输出缓冲,可以尝试使用以下方法之一来禁用输出缓冲:1.使用 stdbuf 命令:stdbuf 是用于修改标准I/O缓冲机制的命令,可以用来调整输出的缓冲方式。你可以尝试使用 stdbuf 命令来禁用输出缓冲,例如:stdbuf-o......
  • 为什么点击鼠标后屏幕上没有出现 X?
    我想实现程序在按下鼠标的位置将“X”传送到屏幕上的功能。然而,一旦我运行该程序,什么也没有出现。take_turn函数将值存储在二维数组中,并将鼠标单击的位置存储在名为“positions”的列表中。然后,在主游戏循环中,应将X放置在通过位置列表迭代的所有位置中。我应该如何修改我的代......
  • 四角光标跟随鼠标, 鼠标落在哪个图片上, 光标就跟随到哪张图片 (一种实现思路)
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title&g......
  • 注册表修改鼠标右键菜单
    文件/文件夹右键菜单:HKEY_CLASSES_ROOT*\shellHKEY_CLASSES_ROOT\Directory\shellHKEY_CLASSES_ROOT\Folder\shell驱动器右键菜单:HKEY_CLASSES_ROOT\Drive\shell桌面右键菜单:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDesktop......
  • C++ 禁用类的拷贝构造函数和赋值运算符
    C++中如果没有显式定义类的构造函数和赋值运算符,编译器会自动生成对应的函数,但是对于一些含有指针成员变量的类,自动生成的成员函数只会进行浅拷贝,会导致动态申请的内存在对象析构的时候doublefree,引起崩溃的问题。因此如果没有必要,通常会禁用该接口,避免用户调用该接口造成问题。......
  • QStyledItemDelegate 和QTreeView实现鼠标hover消息
    1.QTreeView设置属性mousetracking和tablettracing 重写QStyledItemDelegate类,重写函数booleditorEvent(QEvent*event,QAbstractItemModel*model,constQStyleOptionViewItem&option,constQModelIndex&index);这个函数里可以处理鼠标hover和点击事件;boolTreeTas......