所以我正在尝试为我之前创建的控制台菜单(使用箭头键和回车键进行控制)创建一个控制台按钮底座(使用低级鼠标钩子)并且两者都可以单独工作但我遇到了几个问题。鼠标钩子需要(据我所知)一个消息循环才能工作,这反过来会阻塞线程,而菜单需要线程不被阻塞,这样它就可以从键盘获取输入并更新屏幕上的菜单。那么我该如何解决这个问题呢?
只需使用单独的线程。在一个线程(即主线程)中运行您的菜单,并在另一个线程中运行鼠标钩子。
否则,您可以在主线程中运行所有内容,只需对消息循环和输入处理进行编码,使其在等待消息/输入到达时不会阻塞线程,让它们定期返回您的代码,以便你可以做其他工作。