在调用GetSystemMenu()后清理()
问题描述:
我使用Florian's wrapper class来调用GetSystemMenu()以将自定义菜单项添加到应用程序的系统菜单中。在调用GetSystemMenu()后清理()
我只是好奇是否有任何清理所需的通过调用GetSystemMenu或额外的菜单项返回的句柄。我没有看到任何需要调用CloseHandle()或类似的东西,所以我目前的假设是这不是必需的。
答
答
我有一看包装,我的直觉是这样的:
内SystemMenu.cs使用的手柄是给我一个疑问......
private IntPtr m_SysMenu = IntPtr.Zero; // Handle to the System Menu
该句柄,无处该代码正在被明确关闭或释放......这导致我认为在代码内应该有一个IDisposable实现来关闭/释放句柄...
你觉得呢?
希望这会有所帮助, 最好的问候, 汤姆。
不好意思是迂腐和挑剔的...但不得不发表我的想法。 – t0mm13b 2010-01-05 02:26:27
查看Reed的回答。它可能在DefWindowProc处理WM_NCDESTROY时被删除。 – Michael 2010-01-05 02:31:23
@Michael:谢谢...但是你能澄清一下.NET中的DefWindowProc ......或者你的意思是WndProc? (在控件中常见的保护覆盖方法) – t0mm13b 2010-01-05 02:34:40