Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Freie Ressourcen unter XP ermitteln

  Alt 5. Apr 2009, 01:45
Dieses Problem gibt es doch unter Windows NT gar nicht mehr in der Form. In der 16-Bit Zeit von Windows waren die Ressourcen für die graphische Oberfläche beschränkt, unter Windows 9x gab es dann in der genannten DLL die interne Methode _MyGetFreeSystemResources32, die im Grunde nur ein Wrapper für den Aufruf der entsprechenden alten 16-bit Funktion GetFreeSystemResources war. Wegen eben dieser Abwärtskompatibilität gab es für die User- und GDI-Ressourcen ein Limit von 64KiB.

Mit Windows 2000 hat sich das aber grundlegend geändert, da die alten Programme in einer extra Umgebung abliefen. Das alte Limit von 64KiB war Geschichte. Deshalb kann es unter Windows XP dieses Problem eigentlich gar nicht mehr geben.
// EDIT:
Bzw. unter Windows XP bedeutet es etwas anderes, wenn nicht genügend "Ressourcen" zur Verfügung stehen. Damit ist dort in der Tat eher der Arbeitsspeicher z.B. gemeint.
Es sei denn es handelt sich um ein uraltes Programm, das in der virtuellen Maschine für 16-Bit Programme läuft oder so, dann kann das vermutlich schon noch sein, dass da diese Ressourcen fehlen.

Um die Anzahl der GDI- und Userobjekte eines Prozesses anzufragen kannst du ab Windows 2000 die Funktion GetGuiResources verwenden:
http://msdn.microsoft.com/en-us/library/ms683192.aspx
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat