所谓“可停止”的服务其实是不可停止的

所谓“可停止”的服务其实是不可停止的

我试图停止服务mshidkmdf,但尽管它是可停止的,它却不会停止。我能够从设备管理器停止驱动程序(设备堆栈为\Driver\mshidkmdf,描述为HID-compliant touch screen)。当我运行时sc query mshidkmdf,我得到:

SERVICE_NAME: mshidkmdf
        TYPE               : 1  KERNEL_DRIVER
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

这意味着该服务是STOPPABLE。但是,当我运行 时sc stop mshidkmdf,我得到:

[SC] ControlService FAILED 1052: 

The requested control is not valid for this service.

当我运行时net stop mshidkmdf,我得到:

The requested pause, continue, or stop is not valid for this service.

More help is available by typing NET HELPMSG 2191.

我知道该服务正在运行,因为 a)我的触摸屏正在运行,并且 b)当我运行时sc start mshidkmdf,我得到:

[SC] StartService FAILED 1056:

An instance of the service is already running.

我的目标是通过命令行停止由驱动程序运行的设备(我的触摸屏),但据我所知,驱动程序和服务是同一件事。

答案1

这项服务是针对 Windows Touch 的,Windows 确实拒绝禁用它。

你最好禁用该设备本身,如 Microsoft 文章中所述
在 Windows 10 中启用和禁用触摸屏

程序如下:

  • 运行设备管理器
  • 开放人机接口设备
  • 选择设备“HID兼容触摸屏”(可能有多个)
  • 点击操作 > 禁用设备。要启用,请选择启用设备

相关内容