在Windows 8上,我试图确定鼠标使用C#的手性。换句话说,我正在尝试阅读此设置:
控制面板\硬件和声音\鼠标 - >切换主要和次要 的按钮。
我尝试过使用WMI,但没有运气。无论我使用什么鼠标,用手属性值总是为空。
# app/config/config_frontend.yml
imports:
- { resource: config.yml }
twig:
cache: false
还有其他方法可以完成这项任务吗?
答案 0 :(得分:4)
我发现在user32.dll上公开的GetSystemMetrics可用于返回您搜索的交换鼠标按钮数据。以下是一些引用和快速控制台应用程序一起进行测试。第3个链接包含一些关于如何在C#中使用GetSystemMetrics的“官方”示例。
Wrong way to detect swapped mouse
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace ConsoleApplication2
{
class Program
{
[DllImport("user32.dll")]
public static extern Int32 GetSystemMetrics(Int32 bSwap);
static void Main(string[] args)
{
//normally you would make this as a constant:
int SM_SWAPBUTTON = 23;
int isLeftHanded = GetSystemMetrics(SM_SWAPBUTTON);
//0 means not swapped, 1 means swapped (left handedness?)
}
}
}