Win32-从另一个线程获取消息



根据这个线程:CreateWindow/CreateDialog的HWND可以是GetMessage';d来自另一个线程?,我似乎无法在另一个使用主线程HWND的线程中使用GetMessage。

我只是试图使用GetMessage获取edittext中的值,GetMessage是从一个新线程调用的。我有什么方法可以做到这一点?

如果要从编辑控件中获取值,实际上根本不使用GetMessageGetMessage用于接收消息,但要从窗口获取文本,您必须发送消息,即使用SendMessage

要发送的消息是WM_GETTEXT(前面是WM_GETTEXTLENGTH)。或者更简单的是,使用操作系统为您提供的包装器函数之一——在本例中为GetWindowTextGetDlgItemText。它们可以很好地跨线程边界工作(事实上甚至可以跨进程边界)。

最新更新