unit UCallHwnd; interface uses Classes, Messages, Windows; const WM_USER_MSG = WM_USER + 1; type TCallHwnd = class(TObject) private FHwnd: THandle; protected procedure DoUserMessage(var AMsg: TMessage); public constructor Create; destructor Destroy; override; //调用测试 function CallHwndTest: Boolean; end; implementation { TCallHwnd } function TCallHwnd.CallHwndTest: Boolean; begin Result := PostMessage(FHwnd, WM_USER_MSG, 1, 2) end; constructor TCallHwnd.Create; begin FHwnd := AllocateHWnd(DoUserMessage); end; destructor TCallHwnd.Destroy; begin DeallocateHWnd(FHwnd); inherited; end; procedure TCallHwnd.DoUserMessage(var AMsg: TMessage); begin if AMsg.Msg = WM_USER_MSG then begin //AMsg.LParam 2 //AMsg.WParam 1 //do something end else AMsg.Result := DefWindowProc(FHwnd, AMsg.Msg, AMsg.WPARAM, AMsg.LPARAM); end; end.
,相关文章
- 【转】vc中使用SendMessage正确发送自定义消息的方法--不错
- 使用 System.Text.Json 时,如何处理 Dictionary 中 Key 为自定义类型的问题
- 使用CodeIgniter表单验证的自定义错误消息
- 检查javascript是否已启用,如果未使用asp自定义控件则显示消息
- 如何使用CORS Pre-flight请求处理自定义标头? AJAX - CodeIgniter
- Delphi XE 10.2.3使用CEF4Delphi取网页元素时碰到 变问号?的处理
- PHP 自定义错误处理函数的使用详解
- 循序渐进BootstrapVue,开发公司门户网站(2)--- 使用wow.js动画组件以及自定义的CSS样式处理动态效果
- php array_map使用自定义的函数处理数组中的每个值
- 详解使用Spring Boot的AOP处理自定义注解