Seite 1 von 1
Systeminfo abrufen
Verfasst: 14.03.2012 18:50
von mk-soft
Ich habe ab und zu Probleme mit eine Windows 2003 Server.
Jetzt möchte ich diesen Überwachen. Dazu brauche ich aber folgende Information.
Die im Taskmanger angezeigt werden:
- Handles, Threads, Prozesse.
- Speicher, Ganz wichtig "Kernelspeicher"
Netzwerkstatus:
- Anzahl Verbindungen
- Freie Verbindungs-Resourcen
etc.
Wo liegen die Grenzen eigendlich für Handle, Threads, etc.
Vielleicht hat ja jemand ein paar codes zur Verfügung. Die Suche hat mir nicht geholfen...
Danke im vorraus
Michael
Re: Systeminfo abrufen
Verfasst: 14.03.2012 20:04
von RSBasic
Prozesse:
http://www.rsbasic.de/aktualisierung/wi ... ssnamen.pb
Handles:
Code: Alles auswählen
EnableExplicit
Procedure ListWindows(hwnd,Param)
Debug hwnd ;Du kannst dies sicherlich noch erweitern, um deren Klassennamen etc. zu ermitteln
ProcedureReturn #True
EndProcedure
EnumChildWindows_(FindWindow_("ToolbarWindow32",#Null),@ListWindows(),0)
Re: Systeminfo abrufen
Verfasst: 15.03.2012 08:33
von mk-soft
Schon mal ein Ansatz. Danke...
Suche aber noch die Möglichkeit auf die Anzahl abzufragen. der Taskmanager macht es ja auch...
Gerade der Kernelspeicher machte probleme weil irgend ein Programm mal der Meinung war den nicht frei zu geben. Oder die maximale Anzahl der Handles überschritten.
Das ergebnis war das kein neues Fenster erstellt werden konnte.
Weiteres Problem war das keine Netzwerkresourcen mehr frei waren. Das Ergebnis war das der Server nicht mehr erreichbar war. Laufende Prozesse liefen,
aber kein es konnte kein Netzwerklaufwerk geöffnet werden, Remotedesktop und VNC nicht ereichbar.
Allso kickoff Server...
Re: Systeminfo abrufen
Verfasst: 15.03.2012 08:41
von RSBasic
Du könntest noch außerdem, falls bei dir vorhanden ist, in der Konsole folgendes eingeben:
(Ausgabepfad musst du natürlich anpassen)
Vielleicht gibt es in dieser exportierten Datei Informationen, die du gebrauchen kannst.
Re: Systeminfo abrufen
Verfasst: 16.03.2012 19:57
von Falko
Oder vielleicht mithilfe tasklist.exe, was unter XP,Vista und 7 laufen soll?
Code: Alles auswählen
If OpenWindow(0, 0, 0, 800, 600, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
EditorGadget(0, 8, 8, 784, 583)
PRGN=RunProgram("C:\Windows\System32\tasklist.exe","/V /FO List","C:\Windows\System32\", #PB_Program_Open|#PB_Program_Read)
a=0
If IsProgram(PRGN)
While AvailableProgramOutput(PRGN) or ProgramRunning(PRGN)
a+1
AddGadgetItem(0, a, ReadProgramString(PRGN))
Wend
EndIf
CloseProgram(PRGN)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Re: Systeminfo abrufen
Verfasst: 17.03.2012 13:54
von RSBasic
@Falko
Das funktioniert aber nicht unter XP Home, weil diese Datei "tasklist.exe" bei Home nicht vorhanden ist. Das würde also nur unter XP Pro, Vista und 7 funktionieren.
Re: Systeminfo abrufen
Verfasst: 17.03.2012 14:53
von Falko
Re: Systeminfo abrufen
Verfasst: 18.03.2012 23:01
von mk-soft
Das sind alles Aufrufe von externe Programme. Möchte aber es über API oder Interfaces abrufen und in einer Datenbank bei Änderung speichern...
Re: Systeminfo abrufen
Verfasst: 19.03.2012 18:48
von Falko
Vielleicht dann mit der PSAPI.DLL ?
Beispiele hierzu findest du hier:
http://www.purebasic.fr/english/viewtop ... 83#p325483
MfG Falko