【发布时间】:2008-10-07 01:15:15
【问题描述】:
我想在触发键盘钩子事件时调用ShowDialog(),但我遇到了一些困难:
- ShowDialog() 阻塞,所以我不能从钩子触发事件中调用它,因为它会阻塞操作系统。
- 我可以启动一个新线程并从那里调用
ShowDialog(),但我遇到了一些令人讨厌的异常。我想我不能在任何其他线程中调用ShowDialog()。 - 我可以启动一个计时器:在接下来的 50 毫秒内调用
ShowDialog()(顺便说一句,这是一个讨厌的 hack,我宁愿不这样做)。但随后计时器在一个新线程中触发,然后我遇到了上一个项目符号中解释的相同问题。
有办法吗?
【问题讨论】:
标签: c# keyboard-hook