作者luke1209 (Luke)
看板Liu
标题Re: [伪虾] 伪.虾米 Ver 3.9b & Dev 0624
时间Sun Jul 1 17:24:28 2007
※ 引述《zhadow (zzz)》之铭言:
: ※ 引述《luke1209 (Luke)》之铭言:
: : -----------------------
: : If Wait Then
: : Do While PeekMessage(KeyboardMsg, 0, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE)
: : TranslateMessage KeyboardMsg
: : DispatchMessage KeyboardMsg
: : Loop
: : End If
: : ----------------------
: : 这个解决方法最常见,但一样没用 ^^"
: 有些文字处理的 Message 好像不在 WM_KEYFIRST~WM_KEYLAST 中间,
: 而且KeyboardMsg处理完不代表剪贴簿动作完成了.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
这点我也觉得可能会有问题
不过既然本来的 SendKeys 的 Wait 运作下都没有出现问题
我就暂时假设这是可以行得通的
但事实上,这段程式码的问题在於
它完全 Peek 不到 Message...><"
: 建议你把 WM_KEYFIRST,WM_KEYLAST 都设成0试看看.
其实我试过,但这样会拦截到太多没有用的讯息
而且重点是,还是没有办法拦到按键的讯息 ><
: 另外,PeekMessage的第2个参数用0也可能有问题。
设成 0 是为了要拦截所有的视窗讯息,而非特定的视窗
--
╭═╮ ╭═╮
║▌║ ╭═╮╭╮║▌╭═╮╭═══╮
║▌║ ║▌║║║║▌ ╮║▌╭╮║
║˙╰═╮║˙╰╯║║˙╭╮║║˙╰╯╯
╰═══╯╰═══╯╰═╯╰╯╰═══╯
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.73.172.87
※ 编辑: luke1209 来自: 203.73.172.87 (07/01 17:25)
1F:推 zhadow:PeekMessage的第2个参数用0? 07/01 19:08
2F:→ zhadow:你确定你跟该视窗在同一个thread下? 07/01 19:09