You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

排查JInput内存泄漏问题:Windows窗口无法正常销毁

背景

我正在JInput中实现控制器热插拔功能,期间遇到了内存泄漏问题。我已在Java端取得部分进展,但原生C端仍存在遗留问题,具体涉及窗口的创建与销毁。

问题描述

在JInput库中,Windows平台下的摇杆输入涉及窗口的创建与销毁,此流程由原生C代码处理。调用DestroyWindow函数销毁窗口后,这些隐藏窗口仍会出现在WinLister、Spy++等工具中,并在内存中堆积引发资源泄漏。

已尝试方案
  • 尝试在销毁窗口前处理所有剩余消息
  • 确保窗口的创建与销毁在同一线程执行
  • 检查DestroyWindow的返回值,并通过调用GetLastError确认未报错

有趣的发现是,再次使用同一句柄调用DestroyWindow时,会返回错误码1400,表示句柄无效。

内容的提问来源于stack exchange,提问作者Marko19907

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 06:48:11