使用消息驱动