跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 请教一下 C++如何判断键盘或者某个按键是否按下后松开
未分類
1 4 月 2021

请教一下 C++如何判断键盘或者某个按键是否按下后松开

请教一下 C++如何判断键盘或者某个按键是否按下后松开

資深大佬 : ESP 0

最近在做一个项目,需要在用户按下某个按键之后仅执行一次,按住无效。 我的想法是检测按键是否抬起,如果没抬起就不执行。 网上搜了很多都没找到解决方案,请问大家有没有好的建议?

大佬有話說 (12)

  • 資深大佬 : across

    查系统 API,key_up 事件监测
    https://docs.microsoft.com/en-us/windows/win32/inputdev/wm-keyup

  • 主 資深大佬 : ESP

    @across 感谢建议

  • 資深大佬 : across

    @ESP 你这个检测按下也没问题
    key down (按下)和 key pressed (按住) 都有区分。

  • 資深大佬 : ysc3839

    在什么操作系统下运行?是否有用第三方框架?

  • 資深大佬 : 786375312123

    qt 和 unix 还有 win32 都有相关的处理方式

  • 資深大佬 : 3dwelcome

    不是 win32 平台吧,要不然一个 WM_KEYDOWN 就搞定的事情,弄那么复杂。
    如果是全部自己写,那么判断一下按键重复时间,两者太接近就直接忽略掉后面的事件。

  • 資深大佬 : JerryV2

    按住无效,请注意 WM_KEYDOWN 的 LPARAM 参数,0-15 bits 表示重复次数

  • 主 資深大佬 : ESP

    @ysc3839 windows 的 win32 dll 中,没有用到任何框架

  • 主 資深大佬 : ESP

    @3dwelcome 感谢建议

  • 主 資深大佬 : ESP

    @JerryV2 感谢提醒,看来主流的意见就是使用 WM_KEYDOWN 或者 WM_KEYUP 。我正在看怎么使用。

  • 資深大佬 : nightwitch

    这和 C++本身没关系。
    外设的 IO 事件都是由操作系统负责处理,查目标平台的 API 即可

  • 資深大佬 : LZSZ

    这个不可能搜索不到

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具