none
怎么直接往键盘写送数据 RRS feed

  • 问题

  • 怎么可以不用过滤驱动情况下直接往键盘(系统独占设备)发送数据,DeviceIoControl在用createfile获取句柄时会报:拒绝访问,新手请社区的大大指导!
    2016年11月7日 8:23

答案

  • Hi KeplerMars,

    感谢在MSDN论坛发帖。

    >>怎么可以不用过滤驱动情况下直接往键盘(系统独占设备)发送数据,DeviceIoControl在用createfile获取句柄时会报:拒绝访问,新手请社区的大大指导!

    在调用CreateFile以打开设备驱动程序的句柄时,应指定FILE_SHARE_READ和FILE_SHARE_WRITE访问标志。 但是,打开通信资源(例如串行端口)时,必须指定独占访问。 打开设备句柄时,使用其他CreateFile参数如下:

    fdwCreate参数必须指定OPEN_EXISTING。
    hTemplateFile参数必须为NULL。
    fdwAttrsAndFlags参数可以指定FILE_FLAG_OVERLAPPED以指示返回的句柄可以在重叠(异步)I / O操作中使用。

    具体使用方法可以参考以下文档。

    https://msdn.microsoft.com/en-us/library/windows/desktop/aa363147(v=vs.85).aspx

    希望对你有所帮助。

    Best Regards,
    Sera Yu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 KeplerMars 2016年11月23日 16:29
    2016年11月8日 1:56
  • 您可以使用Admin管理员权限运行您的程序~

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已标记为答案 KeplerMars 2016年11月23日 16:29
    2016年11月13日 11:02
    版主

全部回复

  • Hi KeplerMars,

    感谢在MSDN论坛发帖。

    >>怎么可以不用过滤驱动情况下直接往键盘(系统独占设备)发送数据,DeviceIoControl在用createfile获取句柄时会报:拒绝访问,新手请社区的大大指导!

    在调用CreateFile以打开设备驱动程序的句柄时,应指定FILE_SHARE_READ和FILE_SHARE_WRITE访问标志。 但是,打开通信资源(例如串行端口)时,必须指定独占访问。 打开设备句柄时,使用其他CreateFile参数如下:

    fdwCreate参数必须指定OPEN_EXISTING。
    hTemplateFile参数必须为NULL。
    fdwAttrsAndFlags参数可以指定FILE_FLAG_OVERLAPPED以指示返回的句柄可以在重叠(异步)I / O操作中使用。

    具体使用方法可以参考以下文档。

    https://msdn.microsoft.com/en-us/library/windows/desktop/aa363147(v=vs.85).aspx

    希望对你有所帮助。

    Best Regards,
    Sera Yu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 KeplerMars 2016年11月23日 16:29
    2016年11月8日 1:56
  • 您可以使用Admin管理员权限运行您的程序~

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已标记为答案 KeplerMars 2016年11月23日 16:29
    2016年11月13日 11:02
    版主
  • 非常感谢您的回答,接下来我尝试下这种方式!
    2016年11月23日 16:29
  • 非常感谢您的回复!已调试通过!
    2017年8月20日 3:25