如何检查用户是否在 C# 控件上使用鼠标或触控笔单击。
例如。如果用户用钢笔按钮单击文本框,那么我希望弹出一个输入面板,但如果他用鼠标单击,那么它不应该。那么如何检查他使用的是鼠标还是笔呢?
编辑:使用 Windows 窗体而不是 WPF
我为 MSDN 写了一篇从未发表过的文章,我猜是因为当我拿到它的时候,Tablet PC 开发已经失败了。但它描述了如何做到这一点。长话短说,您将需要 GetMessageExtraInfo API。这是定义:
// [DllImport( "user32.dll" )]
// private static extern uint GetMessageExtraInfo( );
uint extra = GetMessageExtraInfo();
bool isPen = ( ( extra & 0xFFFFFF00 ) == 0xFF515700 );
如果您希望我将文章发送给您,请使用我在 Einstein Tech dot net 的名字给我发电子邮件。
我对此并不太了解,但我猜如果有人使用手写笔,那么 mouseEnter、mouseExit(或任何等价物)事件将永远不会触发。如果有人确实被解雇了,那么您就知道他们正在使用鼠标。