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


Reply With Quote