GDI Handles per Programmcode anzeigen



  • Hallo,
    kennt jemand eine Möglichkeit, wie man per Code detaillierte Informationen zu den vom eigenen Programm verwendeten GDI-Handles bekommen kann. Ähnlich wie bei GDIView.
    Beispielcode wäre super, darf auch gerne etwas kosten, sollte dann aber mit vertretbarem Aufwand einzubinden sein (C++ Builder 10.3).

    Ich brauche nicht die Anzahl verwendeter GDI, die habe ich bereits, sondern weitergehende Informationen über die ich eventuell herausfinden kann, wo eine GDI-Ressource verwendet wird.
    Die Beispielcodes, die ich bisher gefunden habe (github) sind VC++ und lassen sich mit dem C++Builder leider nicht compilieren und sind auch für einen Nicht-VC-Programmierer schwer verständlich.

    Mein Problem:
    Das Programm ist sehr komplex und wird im professionellen/industriellen Bereich eingesetzt.
    Bis zu 60 Arbeitsplätze, auf denen überall das gleiche Programm läuft, sind mit einem Server verbunden. Die meisten der Programme laufen über Wochen hinweg rund um die Uhr.
    Die Anzahl GDI bewegt sich dabei immer im Bereich zwischen 400 und 800. Nun kommt es aber immer wieder mal vor, dass bei einzelnen und unterschiedlichen Arbeitsplätzen nach Tagen/Wochen ununterbrochener Laufzeit auf einmal die Anzahl GDI nach oben geht, so als ob jemand einen Schalter umlegt und von da ab dann nichts mehr gelöscht wird. Innerhalb von 2-3 Stunden ist dann der Maximalwert von 10000 erreicht und das Programm funktioniert nicht mehr (Out of Resources...).



  • Auf stackoverflow habe ich das hier gefunden.



  • @DocShoe sagte in GDI Handles per Programmcode anzeigen:

    Auf stackoverflow habe ich das hier gefunden.

    Vielen Dank für die Info.
    Das sieht schon mal gut aus und läßt sich auch compilieren, funktioniert aber auf meinem Rechner nicht. Die Prozessadresse für NtWow64QueryInformationProcess64 kann nicht ermittelt werden.
    Ich werde es noch genauer untersuchen.


Anmelden zum Antworten