HKMSetResetTime 设置复位时间
功能
设置键鼠模拟器的延时复位时间。键鼠模拟器内有个计时器,使用该函数后,时间到了就会使键鼠模拟器复位。无论使用这个函数还是其它访问键鼠模拟器的键鼠命令,都会使计时器重新计时。复位后计时器失效,需要使用该函数重新设置。键鼠模拟器有时在特殊情况下会出现通讯异常,或者程序突然退出导致按下的键无法弹起,这个函数可以免去这些情况下插拔键鼠模拟器烦恼。如果条件允许,尽量在停止键鼠模拟器操作后关闭延时复位。因为正常的键盘和鼠标除非接触不良,一般不会出现复位现象。
参数
- 参数1: 设备对象:无类型指针。使用HKMOpen可以创建它。
- 参数2: 延时时间:无符号32位整型数,单位毫秒。取0时关闭延时复位。非0时最小值是50毫秒,最大值是19小时。
- 参数3: 是否鼠标:布尔值。取FALSE时,自动设置延时复位时间,如果同时有键盘模式或者鼠标模式的设备,设置键盘模式的设备的延时复位时间。取TRUE时,自动设置延时复位时间,如果同时有键盘模式或者鼠标模式的设备,设置鼠标模式的设备的延时复位时间。
返回值
布尔值。成功返回True,失败返回False。
C#例子
uint dwDevId;
IntPtr lpDev;
dwDevId = SkmCore.HKMSearchDevice(0x1234, 0xABCD, 0);
if (dwDevId == 0xFFFFFFFF)
{
Console.WriteLine("未找到键鼠模拟器");
return;
}
lpDev = SkmCore.HKMOpen(dwDevId, 0);
if (lpDev == IntPtr.Zero)
{
Console.WriteLine("打开键鼠模拟器失败");
return;
}
for (;;)
{
SkmCore.HKMSetResetTime(lpDev, 1000, false);
SkmCore.HKMDelayRnd(lpDev, 90, 120);
}
SkmCore.HKMClose(lpDev);
C语言例子
DWORD dwDevId;
LPVOID lpDev;
dwDevId=HKMSearchDevice(0x1234,0xABCD,0);
if(dwDevId==0xFFFFFFFF)
{
printf("未找到键鼠模拟器\n");
return 0;
}
lpDev=HKMOpen(dwDevId,0);
if(lpDev==NULL)
{
printf("打开键鼠模拟器失败\n");
return 0;
}
for(;;)
{
HKMSetResetTime(lpDev,1000,FALSE);
HKMDelayRnd(lpDev,90,120);
}
HKMClose(lpDev);