delphi线程中怎么接收消息

delphi线程中怎么接收消息,第1张

代码就不写了,说一个思路:

1、注册一个窗口类,指定一个默认处理方法RegisterClass

2、创建该窗口类的一个实例,得到窗口句柄CreateWindow

3、创建消息循环

PeekMessage(...)

while True do

begin

GetMessage(msg, 0, 0, 0)

case msg.message of

WM_QUIT:...

WM_USER+100:...

end

end

4、最后线程结束前发线程结束消息,并销毁窗口

PostThreadMessage(threadID, WM_QUIT, 0, 0)

DestroyWindow(windowHandle)

最简单的是在窗口类中写一个消息处理函数

Procedure myhandlemessage( var msg: TMessage)message 你的自定义消息值

当然还有别的方式,比如重写窗口的消息处理函数,但比较麻烦,也容易出错,建议上面的方案。

findwindow 找到这个窗口的句柄

findwindowex找个找个窗口里按钮的句柄

sendmessage或 postmessage 发送消息

也可以用spy++直接找到这个窗口和 按钮的ID 发送消息过去


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11919662.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存