Can anyone tell me why this code always manages to return 0 in dwMemoryLoad on Windows NT, but not on Windows 98 were it works perfectly ???
Code:Public Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS)
Public 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
Private Sub Form_Load()
fmt = "###,###,###,###"
skb = " Kbyte"
nkb = 1024
Dim MS As MEMORYSTATUS
MS.dwLength = Len(MS)
GlobalMemoryStatus MS
lblmemstat(0) = Format$(MS.dwMemoryLoad, fmt) & " % used" '<-- This always returns 0 on Windows NT
lblmemstat(1) = Format$(MS.dwTotalPhys / nkb, fmt) & skb
lblmemstat(2) = Format$(MS.dwAvailPhys / nkb, fmt) & skb
lblmemstat(3) = Format$(MS.dwTotalPageFile / nkb, fmt) & skb
lblmemstat(4) = Format$(MS.dwAvailPageFile / nkb, fmt) & skb
lblmemstat(5) = Format$(MS.dwTotalVirtual / nkb, fmt) & skb
lblmemstat(6) = Format$(MS.dwAvailVirtual / nkb, fmt) & skb
End Sub
