最近评论
正在载入评论列表...
![]() |
![]() |
3.3如果不喜欢这些规则,该怎么办
如果你不喜欢第二条规则,例如希望得到另一个进程中自定义控件的文本,那么可以自己发送WM_GETTEXT消息。此时,由于没有使用GetWindowText函数,因此就不受这条规则的约束。
注意,如果目标窗口被挂起,那么你的应用程序将同样被挂起,因为SendMessage函数只有当目标窗口处理完这条消息时才会返回。
同样需要注意的是,由于WM_GETTEXT是在系统消息范围之内(0到WM_USER-1),因此像把当前进程中的缓冲区传送到目标进程以及从目标进程将结果字符串返回到当前进程中等这些操作[这个过程也被称之为列集(marshalling)],就不需要你自己进行特殊的处理。事实上,无论你采取什么样的特殊处理,最终都将是错误的。窗口管理器将自动为你完成列集操作。