Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 原始输入API在Windows 7/Vista操作系统中的使用范围。它可以应用于整个环境还是仅适用于聚焦窗口?_C#_.net_Vb.net_Api_Sdk - Fatal编程技术网

C# 原始输入API在Windows 7/Vista操作系统中的使用范围。它可以应用于整个环境还是仅适用于聚焦窗口?

C# 原始输入API在Windows 7/Vista操作系统中的使用范围。它可以应用于整个环境还是仅适用于聚焦窗口?,c#,.net,vb.net,api,sdk,C#,.net,Vb.net,Api,Sdk,过度的业余开发者把我的一些工作外包出去,同时也做了部分工作。我一直在开发一个字典/同义词表/拼写检查和建议应用程序,我正在尝试在windows环境中开发所有应用程序 我使用了钩子来获取键斯托克斯,并在用户输入定义和拼写建议时显示输出。这并不是我想要的一切。在拼写检查和建议方面可以很好地工作,但在已经存在的单词上单击,或者在触摸屏界面上触摸不起作用的单词 我在读MSDN上的原始输入API,并认为这会起作用,但我雇佣的开发人员建议我,原始输入的作用域仅在有焦点的窗口上,因此不能进行低级别的挂钩。我正

过度的业余开发者把我的一些工作外包出去,同时也做了部分工作。我一直在开发一个字典/同义词表/拼写检查和建议应用程序,我正在尝试在windows环境中开发所有应用程序

我使用了钩子来获取键斯托克斯,并在用户输入定义和拼写建议时显示输出。这并不是我想要的一切。在拼写检查和建议方面可以很好地工作,但在已经存在的单词上单击,或者在触摸屏界面上触摸不起作用的单词

我在读MSDN上的原始输入API,并认为这会起作用,但我雇佣的开发人员建议我,原始输入的作用域仅在有焦点的窗口上,因此不能进行低级别的挂钩。我正在考虑付出努力,但在付出努力之前,我希望有第二、第三、第四个视角

MSDN参考:

希望所有的背景信息不会从问题中消失。欣赏你的洞察力

问候,


约翰是的,他是对的。RawInput消息(WM_输入)仅为聚焦窗口生成。也许你可以解决这个问题,但这不是主要问题

正如它的名字所说,RawInput确实为您提供了原始的鼠标数据。此数据仅为相对鼠标移动或鼠标增量数据。当鼠标到达屏幕边缘时,这些值仍然会输入到消息中,最重要的是,对于您的情况:它不会提供指针弹道(有关指针弹道的一些解释,请参阅本文:)。这使得确定实际光标位置几乎不可能

现在,您可以尝试模拟所有这些行为,并模拟光标位置,但指针弹道在不同版本的windows上并不相同。XP与Vista有不同的行为,我认为他们在Windows7中再次改变了公式

API表明,有一些设备可以提供位置数据而不是相对数据,但我从未见过一种设备可以显示这种行为,甚至触摸屏(尽管这可能取决于驱动程序),而且它肯定不适用于标准鼠标