CNDEV
...
...
账号
登
登录
先
先随便看看
中国开发网
: 论坛:
程序员情感CBD
: 贴子 632458
pcplayer
·
2008-05-20 10:25:39
·
阅读: 338
你的意思是在线程的执行部分去创建?
<空>
相关信息:
要在线程里用 peekMessage 收发给窗口的消息,该怎么做?我要调用一个 DLL,它有个函数可以把窗口handle设置进去,它就向这个窗口发消息了。
(102字)
(
pcplayer
[803]
2008-05-20 15:21
)
随便用CreateWindow建立一个就成
(19字)
(
好望角
[394]
2008-05-20 15:27
)
我看到的例子代码是这样的,但我抄下来,还是不行。PeekMessage 取不到消息。我看到的 C++代码也是创建了一个窗口,但看不到那个窗口和线程有什么关系,
(51字)
(
pcplayer
[770]
2008-05-20 15:37
)
我参考这段代码写的,也读不到消息:--->
(2377字)
(
pcplayer
[400]
2008-05-20 15:40
)
看来你碰上了一个典型的包子问题
(6字)
(
好望角
[386]
2008-05-20 15:41
)
玩线程你就是专家嘛。我理解要线程能读到发给某个窗口的消息,总该有个什么API函数建立线程和那个窗口的联系吧。否则随便写个线程就可以读发给任意窗口的消息也不对啊。
(空) (
pcplayer
[457]
2008-05-20 15:47
)
偶只记得线程里面建一个Window,然后Wait…………,从VCL中翻出的代码,基本照抄。
(空) (
好望角
[328]
2008-05-20 15:55
)
你试试PostThreadMessage吧
(空) (
好望角
[357]
2008-05-20 15:58
)
现在的问题是那个 Message 不是我发的!是别人的DLL发的。它就发给某个窗口handle。
(空) (
pcplayer
[379]
2008-05-20 16:09
)
Hook之
(空) (
好望角
[328]
2008-05-20 16:43
)
下载到一段例子代码,可以在线程里收到发给某个窗口handle的消息。正在仔细研究。
(空) (
pcplayer
[427]
2008-05-20 16:49
)
随便用CreateWindow建立一个就成 (19字) (好望角 [10] 今天 15:27 )
(空) (
holly
[355]
2008-05-20 17:23
)
多谢。我就是用 CreateWindow 创建了一个窗口拿到它的 handle,但线程里去 PeekMessage 还是没东西。正在仔细看别人的代码。
(空) (
pcplayer
[579]
2008-05-20 17:29
)
The window MUST belong to the current thread.
(空) (
bjwf
[292]
2008-05-20 17:34
)
你如果想在线程里用peekMessage收某个窗口的消息的话,这个窗口必须是你这个线程create的.
(空) (
bjwf
[535]
2008-05-20 17:37
)
没看你的代码,但怀疑你的问题出在这儿。你这种做法不好。
(110字)
(
bjwf
[439]
2008-05-20 18:12
)
我可以在程序的窗口消息处理程序里抓到这个消息。但我想单独用一个线程来处理消息,避免对消息的处理阻塞主程序。
(空) (
pcplayer
[457]
2008-05-20 18:57
)
这种情况应该是在窗口消息处理函数抓到之后再转发给你的工作线程.
(空) (
bjwf
[413]
2008-05-20 19:38
)
你的意思是在线程的执行部分去创建?
(空) (
pcplayer
[337]
2008-05-20 18:25
)
多谢!实验通过。我的错误就是没用线程来创建窗口导致的。搞了半天它们的关联机制就是看是谁执行的创建,谁就可以读消息。
(空) (
pcplayer
[402]
2008-05-20 18:52
)
欢迎光临本社区,您还没有登录,不能发贴子。请在
这里登录