這次又一個簡單的問題是:我的DLL處理UI的東西有一個uninit()
function that should be called before the program terminates that frees all resources(取消註冊窗口類,刪除私人堆等)。什麼是要求卸載IDI_APPLICATION
,IDC_ARROW
,以及其他系統圖標和加載了LoadIcon
/Cursor(NULL, IDI
/IDC_WHATEVER)
的光標?我可以從MSDN收集的最接近DeleteObject()
不應該在這些圖標上調用;在那種情況下,沒有這種功能嗎?謝謝。如何釋放標準圖標和遊標(LoadIcon/Cursor(NULL,IDI/IDC_WHATEVER))?
-1
A
回答
0
您不會卸載系統定義的圖標或光標。該documentation for DestroyIcon,例如,具體說(加上強調):
它是隻需要調用DestroyIcon爲具有以下功能創建的圖標和光標:CreateIconFromResourceEx(好象叫不LR_SHARED標誌),CreateIconIndirect和CopyIcon。 請勿使用此功能銷燬共享圖標。只要加載的模塊保留在內存中,共享圖標就是有效的。以下功能獲取共享圖標。
- LoadIcon
- 的LoadImage(如果使用LR_SHARED標誌)
- CopyImage(如果使用LR_COPYRETURNORG標誌和畫佳參數是共享圖標)
- CreateIconFromResource
- CreateIconFromResourceEx(如果使用LR_SHARED標誌)
上面清楚的是sta測試你使用LoadIcon()獲得的圖標不應該被銷燬。同樣是在documentation for DestroyCursor說:
銷燬光標,並釋放光標所佔用的內存。 請勿使用此功能銷燬共享光標。
+0
是的,我看到了;我想知道是否還有其他一些我錯過的信息。感謝您的確認! – andlabs
相關問題
- 1. Hibernate標準和NULL
- 2. Java不釋放oracle遊標
- 3. 谷歌地圖api v3標準遊標
- 4. 遊標!= null但爲null?
- 5. Java標準註釋
- 6. 解釋標準庫
- 7. NSImage標準圖稿和圖標NSImageNameStatusAvailable
- 8. 如何在目標C中釋放和釋放這些變量?
- 9. Android遊標返回null
- 10. 標準和「異國情調」的圖標
- 11. 如何創建標準註釋塊?
- 12. 如何使用Hibernate自動釋放遊標?
- 13. 在鼠標釋放
- 14. 遊戲成功標準
- 15. 標籤圖標準則
- 16. UITabBar標準圖標位置
- 17. 標準更改註釋
- 18. Nonnull註釋和標準java包
- 19. 標準::地圖蹩腳的字符只在釋放模式
- 20. URL標準化和標準化的標準工具?
- 21. 放大瞄準鼠標光標
- 22. 標準化和非標準化的值
- 23. 如何播放標準的Windows聲音?
- 24. 如何從標準輸出和標準錯誤
- 25. 如何使R中的數據標準化和非標準化?
- 26. 如何放置JFrame圖標
- 27. Intellij在標準Java類上顯示非標準註釋?
- 28. 在Java中縮放遊標
- 29. 如何在QGraphicsView中獲取鼠標釋放座標
- 30. 如何寫標準
如果是系統加載的,則不需要'DeleteObject()',如果您使用自己的,則在完成後刪除。 –
感謝你們倆。 @KenWhite我已經立即釋放了臨時性的東西;此函數用於在DLL啓動時初始化並且必須在DLL的整個生命週期中保持活動的事件,即私有窗口,窗口類,GDI字體對象和DLL的私有堆。 – andlabs