【问题标题】:get keyboardfilter WMI parameters in c#在c#中获取keyboardfilter WMI参数
【发布时间】:2020-07-17 15:42:26
【问题描述】:

在 Windows IoT(以及普通的 Windows 10)上,您可以启用键盘过滤器和 shell 启动器。 我启用了 UWF、KB-Filter 和 Shell Launcher。

现在,我无法使用简单的 C#.NET 程序获取键盘过滤器的参数。

ManagementScope scope = new ManagementScope(@"root\standardcimv2\embedded");
using (ManagementClass mc = new ManagementClass(scope.Path.Path, "WEKF_Settings", null))
{
    ManagementObjectCollection moc = mc.GetInstances();
    foreach (ManagementObject mo in moc)
    {
    }
}

UWF_Filter 正在工作。 WEKF_SettingsWESL_UserSetting 不起作用,即使它们在操作系统上启用。

我总是遇到Provider Load Failure异常,即使应用程序是以管理员身份启动的。

在 powershell 中,我可以毫无问题地获得课程:

Get-CimClass wekf_settings \\.\root\standardcimv2\embedded | select -expand cimclassqualifiers

所以问题是:为什么我不能在 C# 中获取实例(使用 GetInstances())而只能使用 powershell?

【问题讨论】:

    标签: c# windows-10 wmi windowsiot


    【解决方案1】:

    就像信息一样(如果您遇到相同的错误):
    如果是 32 位,查询也会在 Powershell 上失败。

    您需要将程序编译为64位。然后代码就可以查询键盘过滤器了。

    这就是解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-21
      • 2011-06-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      相关资源
      最近更新 更多