Archief - [PROG]VB.Net WINAPI: Globalmemorystatus

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Wover

Legacy Member
Hey,

ik heb voor mijn taskmanager ook een klei zijproggie gemaakt om geheugen en hardeschijfgegevens ed weer te geven.

Ik wist welke functie het was, aangezien ik het int middelbaar al heb moeten maken, maar nu werkt het ineens niet.

http://www.allapi.net/vbtutor/iapi5.shtml dit is de vb6 code

en dit is mijn code:

Code:
    Private Structure MEMORYSTATUS
        Dim dwLength As Long
        Dim dwMemoryLoad As Long
        Dim dwTotalPhys As Long
        Dim dwAvailPhys As Long
        Dim dwTotalPageFile As Long
        Dim dwAvailPageFile As Long
        Dim dwTotalVirtual As Long
        Dim dwAvailVirtual As Long
    End Structure

    Private Declare Sub GlobalMemoryStatus Lib "kernel32" (ByRef lpBuffer As MEMORYSTATUS) 
    Private Sub SysteemInformatie_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim MemStat As New MEMORYSTATUS
        Dim getal, getal1 As Long

        GlobalMemoryStatus(MemStat)

        getal = MemStat.dwAvailPhys
        Debug.WriteLine(getal)

        getal1 = getal / 1048576
        Debug.WriteLine(getal1)

        MessageBox.Show(getal1)

    End Sub

Hij geeft dan een veel te groot getal weer...

Iemand ideetjes :p


edit: in VB6 werkt het wel perfect, maar ik meen mij te herinneren dat ik ergens een VB.net conversie had gevonden.

Obliv`

Legacy Member
Moet je al die Longs die je bij MEMORYSTATUS hebt gedeclareerd niet veranderen in Integers?

Wover

Legacy Member
in principe speelt dat geen rol denk ik e, een getal blijft een getal e ;)

maar kzalt allemaal eens proberen, ge weet maar nooit :)

edit: ik krijg een kleiner getal, namelijk 513,..... (514 met fix)

maar ik heb 1024MB, dus da klopt ni helemaal.

Volgens een of andere website zou die functie tot 4 gig geheugen moeten kunnen lezen...


edit2: hola het werkt toch, ik had dwAvailPhys gepakt ipv dwTotalPhys

thnx dude, me si teh stupid :unsure: :p


edit3: toevallig geen voorstellen om vrije ruimte op hardeschijf e.d. te bekomen?
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan