快速设置戴尔latitude笔记本的触摸板和指点杆
// by windviki 2010/08/31
#include "stdafx.h"
#include <Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
//直接和驱动通信
HANDLE hApfilter = ::CreateFile(
_T("\\\\.\\Apfiltr"), //设备名
GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (hApfilter == INVALID_HANDLE_VALUE)
{
DWORD dwErr = ::GetLastError();
return -1;
}
// 111111
// 123456
// 1:touchpad buttons enable
// 2,6:touchpad enable
// 3:stick buttons enable
// 4,5:stick enable
//char szInput[6] = {0x00, 0x00, 0x28, 0x00, 0x00, 0x00/*, 0x20, 0x00*/}; //全禁
//char szInput[6] = {0x00, 0x00, 0x3f, 0x00, 0x00, 0x00/*, 0x15, 0x00*/}; //全开
char szInput[6] = {0x00, 0x00, 0x28, 0x00, 0x00, 0x00};
char szOutput[2] = {0};
DWORD dwReturned = 0;
if(!DeviceIoControl(hApfilter, 0xd82625b8, szInput, 6, szOutput, 2, &dwReturned, NULL))
{
//
}
::CloseHandle(hApfilter);
return 0;
//--------------------------------------------------------------------------------------------------------------------------------
//依靠Vxdif.dll的导出函数
// export functions
typedef DWORD (__stdcall *IOCTL_DisableTouchpad)(INT dwDevSelect);
typedef DWORD (__stdcall *IOCTL_EnableWheel)(USHORT Param1);
typedef DWORD (__stdcall *IOCTL_GetDeviceID)(DWORD hWnd, INT& dwDeviceID, INT nBuffSize);
typedef DWORD (__stdcall *IOCTL_GetDeviceType)(DWORD hWnd, INT& dwDeviceType, INT nBuffSize);
typedef DWORD (__stdcall *IOCTL_SelectDevice)(INT dwDevSelect);
typedef DWORD (__stdcall *IOCTL_SetButtonEventMask)(INT dwDevSelect);
typedef DWORD (__stdcall *IOCTL_SetButtonFunction)(DWORD hWnd, INT Param2);
typedef DWORD (__stdcall *IOCTL_SetCornerTapOffset)(DWORD hWnd, USHORT Param2, USHORT Param3);
typedef DWORD (__stdcall *IOCTL_SetSpeed)(DWORD hWnd, INT Param2, INT Param3);
typedef DWORD (__stdcall *IOCTL_SetSPHwTapping)(INT Param1);
typedef DWORD (__stdcall *IOCTL_SetSPTapSettings)(INT Param1);
typedef DWORD (__stdcall *IOCTL_SetTapSettings)(DWORD hWnd, BYTE Param2);
typedef DWORD (__stdcall *IOCTL_SetTouchSensitivity)(INT Param1);
typedef DWORD (__stdcall *IOCTL_Tapping)(DWORD hWnd, INT Param2);
HINSTANCE hVxDif = ::LoadLibrary(_T("Vxdif.dll"));
IOCTL_DisableTouchpad pfIOCTL_DisableTouchpad = (IOCTL_DisableTouchpad)GetProcAddress(hVxDif, "IOCTL_DisableTouchpad");
IOCTL_EnableWheel pfIOCTL_EnableWheel = (IOCTL_EnableWheel)GetProcAddress(hVxDif, "IOCTL_EnableWheel");
IOCTL_GetDeviceID pfIOCTL_GetDeviceID = (IOCTL_GetDeviceID)GetProcAddress(hVxDif, "IOCTL_GetDeviceID");
IOCTL_GetDeviceType pfIOCTL_GetDeviceType = (IOCTL_GetDeviceType)GetProcAddress(hVxDif, "IOCTL_GetDeviceType");
IOCTL_SelectDevice pfIOCTL_SelectDevice = (IOCTL_SelectDevice)GetProcAddress(hVxDif, "IOCTL_SelectDevice");
IOCTL_SetButtonEventMask pfIOCTL_SetButtonEventMask = (IOCTL_SetButtonEventMask)GetProcAddress(hVxDif, "IOCTL_SetButtonEventMask");
IOCTL_SetButtonFunction pfIOCTL_SetButtonFunction = (IOCTL_SetButtonFunction)GetProcAddress(hVxDif, "IOCTL_SetButtonFunction");
IOCTL_SetCornerTapOffset pfIOCTL_SetCornerTapOffset = (IOCTL_SetCornerTapOffset)GetProcAddress(hVxDif, "IOCTL_SetCornerTapOffset");
IOCTL_SetSpeed pfIOCTL_SetSpeed = (IOCTL_SetSpeed)GetProcAddress(hVxDif, "IOCTL_SetSpeed");
IOCTL_SetSPHwTapping pfIOCTL_SetSPHwTapping = (IOCTL_SetSPHwTapping)GetProcAddress(hVxDif, "IOCTL_SetSPHwTapping");
IOCTL_SetSPTapSettings pfIOCTL_SetSPTapSettings = (IOCTL_SetSPTapSettings)GetProcAddress(hVxDif, "IOCTL_SetSPTapSettings");
IOCTL_SetTapSettings pfIOCTL_SetTapSettings = (IOCTL_SetTapSettings)GetProcAddress(hVxDif, "IOCTL_SetTapSettings");
IOCTL_SetTouchSensitivity pfIOCTL_SetTouchSensitivity = (IOCTL_SetTouchSensitivity)GetProcAddress(hVxDif, "IOCTL_SetTouchSensitivity");
IOCTL_Tapping pfIOCTL_Tapping = (IOCTL_Tapping)GetProcAddress(hVxDif, "IOCTL_Tapping");
if (pfIOCTL_SelectDevice)
{
pfIOCTL_SelectDevice(0x3f); //全开
//pfIOCTL_SelectDevice(0x28); //全禁止
}
::FreeLibrary(hVxDif);
return 0;
}
转载于:https://www.cnblogs.com/windviki/archive/2011/08/31/2160957.html
快速设置戴尔latitude笔记本的触摸板和指点杆相关推荐
- 禁用戴尔inspiron 5447的触摸板
关于禁用戴尔Inspiron 5447的触摸板. 原因:在敲代码时,手会不小心碰到触摸板,将鼠标箭头定位在其他地方,影响编程. 解决方案:重新更新了dell touchpad 驱动. 1.进入控制面板 ...
- vostro3470装win7_戴尔Latitude 3470笔记本win10怎么改win7系统
[文章导读]戴尔Latitude 3470是一款14英寸商用笔记本,该机型采用 Intel 酷睿第六代处理器.默认预装了win10系统,很多用户不喜欢win10系统,打算安装win7系统,但是预装wi ...
- dell笔记本c语言系统,戴尔Latitude 5280笔记本如何将自带win10改成win7
[文章导读]戴尔Latitude 5280是一款12.5英寸笔记本,该机型采用 Intel 酷睿第七代处理器.默认预装了windows10系统,很多用户不喜欢win10系统,打算安装win7系统,但是 ...
- DELL戴尔笔记本关闭触摸板触控板WIN10
DELL戴尔笔记本关闭触摸板触控板WIN10 听语音 原创 | 浏览:5728 | 更新:2017-03-05 17:33 1 2 3 4 分步阅读 WIN10系统,控制面版还没有触摸板选项,DELL ...
- 戴尔7400服务器要安装系统,戴尔latitude 7400笔记本使用雨林木风u盘安装win7系统教程?...
戴尔latitude 7400笔记本使用雨林木风u盘安装win7系统教程? 戴尔latitude 7400笔记本是一款拥有着14英寸显示屏的商务型办公笔记本电脑,其采用了intel第八代酷睿i5处理器 ...
- 戴尔Latitude 3420/3520进入PE看不到硬盘/设置PE启动
戴尔Latitude 3420/3520进入PE看不到硬盘/设置PE启动 公司今天新买了一台戴尔3420笔记本电脑用于交付项目使用,win11家庭版系统不适合项目使用想改成win10专业版,进入PE后 ...
- dell最新计算机如何U盘引导,戴尔latitude 3301怎么u盘启动 latitude 3301设置u盘启动方法...
我们在使用电脑的过程当中,经常都会遇到各种各样的问题,有时候碰到无法解决的问题,一般都会选择重装系统来解决问题,最近有位电脑用户使用电脑的时候,想要使用bios设置u盘启动,但是却不知道怎么操作,为此 ...
- 戴尔微型计算机如何拆,可靠、专业、智能,戴尔Latitude 7320二合一笔记本体验...
前不久,戴尔推出了全新的Latitude系列商用笔记本电脑,其中Latitude 7000系列高端商用本也迎来了产品型号上的更新-从上一代的Latitude 7310系列升级到现在的Latitude ...
- OpenCore引导安装戴尔-G7笔记本黑苹果之历程
关键字:OpenCore:OC:戴尔:Dell:G7:黑苹果 OpenCore引导安装戴尔-G7笔记本黑苹果之历程 前言 戴尔-G7笔记本先前用Clover引导黑苹果,基本完美.今年年初看见OpenC ...
最新文章
- 利用VS+MFC+Opencv显示图像和视频所需添加类(CvvImage.h和CvvImage.cpp的源码)。
- 图解粒子群优化算法(PSO)
- Bitcoin 中的挖矿算法(6) 难度调整
- Android开发中的logcat工具使用方法
- 【java】docker容器内使用jstack等命令报错 The VM does not support the attach mechanism
- 西瓜书《贝叶斯》朴素贝叶斯公式推导
- Go VSCode配置编译task
- ElasticSearch - 嵌套对象 nested
- Macbook 终端命令使用sudo时改用指纹解锁
- C++学习(四九二)cmake file的GLOB和GLOB_RECURSE
- 手机连接USB通过宽带免费上网
- SLA是什么意思 ?
- CTF-数据分析(二)
- sdkman的介绍、安装及使用
- 基于SpringBoot的影视/短视频网站系统
- JavaDoc文档生成
- 非关系型数据库NoSQL的崛起
- Android WebView(一) WebView详解
- 正则表达式:检测密码由6-21字母和数字组成
- ios底部栏设计规范_设计干货:底部导航栏规范设计总结