Domanda

Sto creando un programma di utilità che disegna alcuni (personalizzabile dall'utente) icone su altre finestre sul desktop con un gancio globale. Come oggetti bitmap sono specifici per un processo, sto creando oggetti hBitmap separate per queste icone in ogni processo prima di disegnarli, e tutte queste maniglie sono memorizzati in un segmento condiviso nella DLL.

Ora, quando l'icona viene rimossa nel mio programma (da parte dell'utente), tutto il HBITMAP oggetti per esso in questi diversi processi dovrebbe essere soppresso. Posso farlo utilizzando DeleteObject () nel mio programma principale o devo eliminare ogni maniglia nel processo in cui è stato creato?

È stato utile?

Soluzione

Sicuramente bisogna eliminarli da un processo che li ha creati - anche se funziona per voi, per la versione diverse finestre non potrebbe

.

Altri suggerimenti

Maniglia di oggetti GDI sono normalmente processo di un privato. È possibile controllare il valore di ritorno di DeleteObject in ogni caso.

Sono solo indovinando questo ...
si dovrebbe usare un gancio, per agganciare ad una finestra diversa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top