inetsilver Geschrieben 18. Februar 2002 Geschrieben 18. Februar 2002 Ich soll ein Programm schreiben mit dem ich remote die Systemdaten auslesen kann, kann mir da jemand nen Tipp geben? Zitieren
MarcG Geschrieben 19. Februar 2002 Geschrieben 19. Februar 2002 Kommt darauf an was für Systemdaten du meinst ... etwas Systempasswörter ? :eek: :OD also Dinge wie Prozessor und so stehen in der Registry HKEY_LOCAL_MACHINE irgendwo. Und Remotezugriff darauf ist ja AFAIK auch irgendwie möglich, oder du schreibst (kleine ?=) Server Programme, die lokal auf dem jeweiligen computer liegen und mit einem anderen Programm (Client) verbindest du dich und rufst die Infos ab, die die Server aus der Registry auslesen. Ein kleiner Trojaner also Zitieren
inetsilver Geschrieben 19. Februar 2002 Autor Geschrieben 19. Februar 2002 naja, eigentlich bin ich inzwischen zu dem schluß gekommen das ich ein tool brauche das beim starten die systemdaten in eine datenbank auf dem server schreibt... weißt du wie man auch die bios revision so erfassen kann? Zitieren
MarcG Geschrieben 19. Februar 2002 Geschrieben 19. Februar 2002 Habs nicht probiert, aber das sollte dir helfen I try to get Bios number and date and it work witn me in W2k procedure TForm1.Button1Click(Sender: TObject); const Subkey: string = 'Hardware\description\system'; var hkSB: HKEY; rType: LongInt; ValueSize, OrigSize: Longint; ValueBuf: array[0..1000] of char; procedure ParseValueBuf(const VersionType: string); var I, Line: Cardinal; S: string; begin i := 0; Line := 0; while ValueBuf <> #0 do begin S := StrPas(@ValueBuf); // move the Pchar into a string Inc(Line); Memo1.Lines.Append(Format('%s Line %d = %s', [VersionType, Line, S])); // add it to a Memo inc(i, Length(S) + 1); // to point to next sz, or to #0 if at end end; begin if RegOpenKeyEx(HKEY_LOCAL_MACHINE, PChar(Subkey), 0, KEY_READ, hkSB) = ERROR_SUCCESS then try OrigSize := sizeof(ValueBuf); ValueSize := OrigSize; rType := REG_MULTI_SZ; if RegQueryValueEx(hkSB, 'SystemBiosVersion', nil, @rType, @ValueBuf, @ValueSize) = ERROR_SUCCESS then ParseValueBuf('System BIOS Version'); ValueSize := OrigSize; rType := REG_SZ; if RegQueryValueEx(hkSB, 'SystemBIOSDate', nil, @rType, @ValueBuf, @ValueSize) = ERROR_SUCCESS then Memo1.Lines.Append('System BIOS Date ' + ValueBuf); ValueSize := OrigSize; rType := REG_MULTI_SZ; if RegQueryValueEx(hkSB, 'VideoBiosVersion', nil, @rType, @ValueBuf, @ValueSize) = ERROR_SUCCESS then ParseValueBuf('Video BIOS Version'); ValueSize := OrigSize; rType := REG_SZ; if RegQueryValueEx(hkSB, 'VideoBIOSDate', nil, @rType, @ValueBuf, @ValueSize) = ERROR_SUCCESS then Memo1.Lines.Append('Video BIOS Date ' + ValueBuf); finally RegCloseKey(hkSB); end; end; Zitieren
MarcG Geschrieben 19. Februar 2002 Geschrieben 19. Februar 2002 das ganze ist für Delphi, du hast nicht gesagt mit was du das ganze Programmieren willst... Zitieren
MarcG Geschrieben 19. Februar 2002 Geschrieben 19. Februar 2002 Das ganze nochmal einfacher ... In der Registry unter HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\SYSTEM\SystemBiosVersion steht die Bios Version. Einfach auslesen und voila ... Zitieren
inetsilver Geschrieben 19. Februar 2002 Autor Geschrieben 19. Februar 2002 danke Leute ;-) noch irgendne Idee wie man das mit dem Auslesen der Daten hinkriegt (mit Delphi), weil ehrlich gesagt ist programmieren nicht so meine stärke und das es dann noch über netzwerk an den Server gesendet wird? Zitieren
MarcG Geschrieben 19. Februar 2002 Geschrieben 19. Februar 2002 Original geschrieben von inetsilver danke Leute ;-) noch irgendne Idee wie man das mit dem Auslesen der Daten hinkriegt (mit Delphi), weil ehrlich gesagt ist programmieren nicht so meine stärke und das es dann noch über netzwerk an den Server gesendet wird? TRegistry.OpenKey(derPfadhier); VersionString := TRegistry.ReadString('SystemBiosVersion'); Das ist natürlich nur wie es umzusetzen ist , kein funktionierender Code. Und den HKEY musst du glaub ich davor noch setzen ... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.