Frage

Ich erstelle ein Hilfsprogramm, das auf dem Desktop einige (änderbaren) Symbole auf andere Fenster zieht einen globalen Haken verwenden. Als Bitmap-Objekte spezifisch für einen Prozess sind, Ich schaffe getrennte HBITMAP Objekte für diese Symbole in jedem Prozess, bevor ich sie zeichnen, und alle diese Griffe sind in einem gemeinsamen Segment in der DLL gespeichert.

Nun, wenn ein Symbol in meinem Programm entfernt wird (durch den Benutzer), die alle der HBITMAP-Objekte für sie in diesen verschiedenen Prozessen gelöscht werden soll. Kann ich diese mit DeleteObject () in meinem Hauptprogramm tun oder muß ich jeden Handgriff in dem Prozess zu löschen, in dem es erstellt wurde?

War es hilfreich?

Lösung

Definitely you have to delete them from a process that created them - even if it works for you, for different windows version it might not.

Andere Tipps

Handle to GDI Objects are normally private a process. You can check the return value of DeleteObject anyway.

I'm just guessing this one...
you should use a hook, to hook to a different window.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top