我已经读过,我应该只使用PostMessage()
告诉UI线程访问UI控件。
如果我是设置"EDIT"
控件的文本,则遵循此方法没有问题。但是,如果我想获取"EDIT"
控件的文本,如果我使用PostMessage()
向UI线程发送消息,那么PostMessage()
将在文本设置之前立即返回缓冲区,那我该如何解决这个问题?
答案 0 :(得分:2)
出于此目的,出于您所识别的原因,您无法使用PostMessage
。 WM_GETTEXT
是同步消息。你应该做的是:
GetWindowText
。 SendMessageTimeout
。为什么SendMessageTimeout
而不是SendMessage
?好吧,如果其他进程已挂起但没有响应,则使用SendMessage
永远不会返回。
此处有更多关于此主题的讨论:The secret life of GetWindowText。