VB 5/6-Tipp 0008: Speicherauslastung abfragen
von ActiveVB
Beschreibung
Mit diesen wenigen Befehlen lässt sich aktuelle Speicherauslastung des Rechners erfahren.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Projekt1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Beschriftungsfeld "Label1" Option Explicit 'Deklaration: Globale Form API-Typen Private Type MEMORYSTATUS dwLength As Long dwMemoryLoad As Long dwTotalPhys As Long dwAvailPhys As Long dwTotalPageFile As Long dwAvailPageFile As Long dwTotalVirtual As Long dwAvailVirtual As Long End Type 'Deklaration: Globale Form API-Funktionen Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS) Private Sub Form_Load() 'Deklaration: Lokale Prozedur-Variablen Dim strText As String Dim udtMem As MEMORYSTATUS GlobalMemoryStatus udtMem With udtMem strText = strText & "Speicher belegt in Prozent : " & _ Format$(.dwMemoryLoad, "@@@@@@@@@@@") & vbCrLf & vbCrLf strText = strText & "Totaler physischer Speicher : " & _ Format$(.dwTotalPhys, "@@@@@@@@@@@") & vbCrLf strText = strText & "Davon noch frei : " & _ Format$(.dwAvailPhys, "@@@@@@@@@@@") & vbCrLf & vbCrLf strText = strText & "Bytes in gepageten Dateien : " & _ Format$(.dwTotalPageFile, "@@@@@@@@@@@") & vbCrLf strText = strText & "Davon noch frei : " & _ Format$(.dwAvailPageFile, "@@@@@@@@@@@") & vbCrLf & vbCrLf strText = strText & "Totaler virtueller Speicher : " & _ Format$(.dwTotalVirtual, "@@@@@@@@@@@") & vbCrLf strText = strText & "Davon noch frei : " & _ Format$(.dwAvailVirtual, "@@@@@@@@@@@") & vbCrLf End With Label1.Caption = strText End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Projekt1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 8 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von Florian Rittmeier am 18.12.2005 um 23:58
Hallo Michael,
stell deine Frage bitte im VB-Forum.
Gruß Florian
Kommentar von Michael am 18.12.2005 um 03:35
Wie kann ich es mit Timer machen, das die werte in Interval =5 Aktualisiert wird?
Das wäre gut :-D
Ich danke im vorraus
Kommentar von Küspert am 21.10.2005 um 14:47
Viellen herzlichen Dank,
ich habe das in VBA Office 95 übenommen, es funktioniert!!!
Kommentar von diskjuggler am 15.01.2004 um 16:22
Unter Windows 98 (VB6) zeigt dwAvailVirtual immer 2 GB an, nicht den
noch verfügbaren Speicher. Es sieht so aus, als würde die Summe aus dwAvailPhys und dwAvailPageFile eher der Realität entsprechen (mit Systemmonitor grob abgeschätzt).
Übrigens ist die Hilfe zur erscheinenden Fehlermeldung, wenn man mehr Speicher als vorhanden zur Laufzeit (z.B. redim) reservieren will, völlig schwachsinnig: es ist von 64KB-Blöcken und TSR-Programmen die Rede. Das gab es nur bei DOS.
Kommentar von Florian Rittmeier am 11.11.2003 um 15:26
Hallo tango,
die Beschreibungen der Funktionen findest Du in der Microsoft Developers Network Library (MSDN Library).
http://msdn.microsoft.com/
Gruß Florian
Kommentar von tango am 11.11.2003 um 13:54
gute Site, echt
mich interessiert wie ich an die diversen
Funktions-Beschreibungen einer dll komme
damit ich weis was es macht befor ich es aufrufe
Kommentar von Florian Rittmeier am 13.03.2003 um 11:35
Hallo Peter,
bei Windows NT bezieht sich die Angabe des dwMemoryLoad Mitglieds nur auf die letzten 1000 Seiten (ungefähr) des physischen Speichers.
MfG Florian
Kommentar von Wicht am 23.10.2001 um 11:04
MemoryLoad zeigt unter NT4 immer 0 an, unter WIN95 die (korrekte) Auslastung. Bug or Feature ?