我一直在努力学习如何使用SetWindowLongPtr(),并将其理解为:
LONG_PTR Some_Ptr = SetWindowLongPtr(Some_Hwnd, GWLP_WNDPROC, (LONG_PTR)Custom_Proc);我的问题如下:
SetWindowLongPtr()?如果您需要一个特定的情况,可以设想在Some_Hwnd中创建一个按钮句柄。但我宁愿把它留给其他情况。发布于 2013-01-17 20:33:14
这就是所谓的“细分窗口”。这是一种标准的Windows编程技术,允许修改无法修改其代码的窗口的行为。就像你的情况下内置的Button类。
有几个细节,比如一个窗口的特定实例与全局子类的子类。和超类,一种确保窗口在创建之前被定制的技术。这在SDK文档和任何关于本机winapi编程的书中都有很好的描述。就像Petzold的“编程Windows”一样,如果您想破解winapi代码,就需要阅读。
发布于 2013-01-17 18:58:45
我觉得你很困惑。根据文档,GWLP_WNDPROC更改指定窗口的窗口过程,因此发送到该窗口的任何未来消息都将转到新过程。在我所知道的任何意义上,它都不会“抓住当前的信息”。
https://stackoverflow.com/questions/14371616
复制相似问题