我使用Florian's wrapper class來調用GetSystemMenu()以將自定義菜單項添加到應用程序的系統菜單中。在調用GetSystemMenu()後清理()
我只是好奇是否有任何清理所需的通過調用GetSystemMenu或額外的菜單項返回的句柄。我沒有看到任何需要調用CloseHandle()或類似的東西,所以我目前的假設是這不是必需的。
我使用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