RAM auslesen

  • Allgemein

Es gibt 28 Antworten in diesem Thema. Der letzte Beitrag () ist von MrLee.

    board.gulli.com/thread/59386-vb-arbeitsspeicher-auslesen/, wennn du bei gulli angemeldet bist, das ist das interessante:

    VB.NET-Quellcode

    1. Tja, leider geht es doch...
    2. Grundsätzlich gibts für alles API-Funktionen *übertreib*
    3. Hehe. Hier also wie:
    4. Erstmal in general declarations:
    5. Option Explicit
    6. Private Declare Function RtlMoveMemory Lib "kernel32" (dest As Any, src As Any, ByVal Count As Long) As Long
    7. dann in der Funktion:
    8. Dim Data As String
    9. Data = String$(500, Chr$(0)) 'Ich lese hier mal 500 Byte
    10. RtlMoveMemory ByVal Data, ByVal &HC0056, 500
    11. &HC0056 iss natürlich die Adresse, von der du lesen möchtest...hier lese ich übrigens paar infos über die Grafikkarte...
    12. So, hoffe das hilft dir...
    Das ist noch VB6 Code, in VB '08 geht es deutlich einfacher:

    VB.NET-Quellcode

    1. 'Gibt den verfügbaren Arbeitsspeicher in Bytes zurück:
    2. My.Computer.Info.TotalPhysicalMemory
    3. 'Wenn du es gleich in MB haben möchtest dann kannst du den Wert durch 1024 hoch zwei teilen also:
    4. My.Computer.Info.TotalPhysicalMemory / 1024 ^ 2

    My-Namespace

    Über den My-Namespace kannst du auf viele nützliche und meist genutze Funktionen des .net Frameworkes zugreifen.
    So auch auf die RAM.
    Hier habe ich mal ein kleines Programm geschrieben, was den physikalischen Speicher in kb ausgibt.

    VB.NET-Quellcode

    1. Module Module1
    2. Sub Main()
    3. Console.WriteLine(My.Computer.Info.TotalPhysicalMemory / 1024) 'Physikalischer Speicher in kb
    4. Console.ReadKey()
    5. End Sub
    6. End Module


    Viel Spaß damit ;)

    MFG
    Fab
    ;)

    PS: Sorry für doppelposting. Aber da war wohl wer schneller als ich und ich war noch am schreiben :D :P
    Wieso :D
    War doch eine allgemeine Frage und dann kann man doch auch VB6 Code posten.
    ;)

    VB6 ist nicht tot. Es gibt sogar noch Kompiler Projekte, wo begeisterte VB-Programmierer ihren VB6 Kompiler ausbauen.
    Aber die Zukunft schaut nach VB .net aus.
    So einfach geht es halt in vielen Fällen noch nicht.

    ;)

    MFG
    Fab
    ;)

    Stehe ich auf dem Schlauch?

    Wie die Überschrift schon sagt^^ stehe ich auf dem Schlauch?
    RAM auslesen

    Hallo, ich brauch unbedingt einen Code, um das RAM des PCs auzulesen.
    könnte mir jemand vielleichtt eins geben?
    Ich selber habe noch nicht viel Erfahrung mit VB gemacht. Bin sogesagt noch anfänger xD.
    Ich lese da beim besten Willen nichts von VB8.
    Und im Title stand [Allgemein]
    Oder?

    MFG
    Fab
    ;)

    Nicht gesehen

    Sorry das hab ich iwie nicht gesehen :P
    Aber das war ja jetzt auch nicht in diesem Thread. ;)
    Werd ich mir merken und von jetzt an bei neueren Postern (muss ich ja gerade sagen :D bin ja auch ziemlich neu - bzw. neu aktiv) mehr darauf achten.

    MFG
    Fab
    ;)
    ehm... ja sorry xD.
    ich hätte meine Frage besser stellen sollen.
    Eigentlich benötige ich ein Code für VB 2008.
    Und meine Absicht ist, dass das RAM ausgelesen wird in MB.
    Wenn das RAM weniger als 768 MB ist das er denn eine Msgbox anzeigt das zu wenig speicher ist und dann zum ende der anwendung kommt. Aber ich denke das geht mit einem Einfach if- satzt.
    Wichtig ist es das er die Fehler meldung bringt wenn zu wenig RAM ist und das er das überhaupt ausließt.
    Nächstes mal werd ich es besser Formulieren xD

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Umbekannt“ ()

    hallo umbekannt,

    du hast doch schon alles bekommen.
    einen timer und eine messagebox dazu - fertig

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private WithEvents t As New Timer
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. t.Interval = 1000
    5. t.Start()
    6. End Sub
    7. Private Sub t_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles t.Tick
    8. Dim m As Integer = My.Computer.Info.AvailablePhysicalMemory / 1024 ^ 2
    9. If m < 768 Then
    10. MessageBox.Show("Verfügbarer Speicher zu klein")
    11. End If
    12. End Sub
    13. End Class

    gruss

    mikeb69

    Kein Problem

    Das dürfte doch eigentlich kein Problem sein, da du die Lösung doch vor der Nase hast ;)
    Oben hast du ja meine Lösung oder auch die anderen.
    Und unter denen von den anderen ist auch die Lösung von DonMaxo.
    Und guck dir mal dem seine Lösung an!
    Da wird dir gezeigt wie du den Speicher in mb ausliest.
    Danach ist es doch nur noch ein Katzensprung.
    Eine kleine If-Abfrage und in der Behandlung der If-Abfrage ne kleine MessageBox.

    Wo liegt das Problem.

    Ich denke mehr muss man dazu nicht sagen.
    Und wenn du noch ein bisschen rätselst, kommst du selber drauf, ohne das ich dir den Code gebe.
    dabei ist der Lerneffekt auch größer.

    MFG
    Fab
    ;)

    Oh da war wohl wieder wer schneller :D Der Thread ist iwie wie verhext :D ist mir jetzt schon 2 mal passiert. Sollte wohl aufhören zu träumen :D
    Ja danke xD hab mein Problem nun gelöst.
    Doch hab wieder ein neues.
    Falls der Speicher zu klein ist. Erscheint dauerhaft eine Msgbox.
    Ich möchte das aber einrichten, dass diese Box nur einmal erscheint.
    Kann ich irgend wie diesen Prozess abrechen lassen nachdem 1 mal die Msgbox erschienen ist?