AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Den Speicherverbrauch und die Basispriorität eines Prozesses
Thema durchsuchen
Ansicht
Themen-Optionen

Den Speicherverbrauch und die Basispriorität eines Prozesses

Ein Thema von RWarnecke · begonnen am 13. Mai 2007 · letzter Beitrag vom 13. Mai 2007
Antwort Antwort
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

Den Speicherverbrauch und die Basispriorität eines Prozesses

  Alt 13. Mai 2007, 17:21
Hallo,

ich möchte den Speicherverbauch und die Basispriorität eines Prozesses anhand der ID auslesen. In der NSDN library habe ich den Befehl GetProcessByID gefunden und anhand der Beispiele von C# und C++ festgestellt, das es genau das ist, was ich suche. Nur wie übersetze ich das ganze jetzt nach Delphi ? Ich könnte das ja auch versuchen in C# oder C++ in eine DLL zu packen, nur dann brauche ich wahrscheinlich .NET-Framework für mein Programm oder ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#2

Re: Den Speicherverbrauch und die Basispriorität eines Proze

  Alt 13. Mai 2007, 17:29
Die FCL-Klassen sind oft übelst praktisch, das muss man schon sagen . Wie du schon selbst erraten hast, setzt jedoch die Verwendung jedweder .Net-Assembly ein installiertes Framework voraus. Der Reflector sagt mir jedenfalls, dass die genannte Methode in einer PID-Liste nachschlägt, die mit der API-Funktion EnumProcesses erstellt wurde.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

Re: Den Speicherverbrauch und die Basispriorität eines Proze

  Alt 13. Mai 2007, 17:37
Irgendwie werde ich aus Deinem Beitrag nicht ganz schlau. Verstehe ich das richtig, was ich unter C# mit GetProcessByID mache muss ich unter Delphi mit EnumProcess machen ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: Den Speicherverbrauch und die Basispriorität eines Proze

  Alt 13. Mai 2007, 17:45
Da war ich ein wenig vorschnell, weil sich der Reflector in Luft aufgelöst hatte - das Framework benutzt EnumProcesses nur zum Überprüfen, ob die PID überhaupt existiert! Der für dich wichtige Teil ist um Einiges komplexer - für Nicht-NT-Windosen verwendet er Process32First/Next (kernel32.dll), um eine Struktur namens ProcessInfo zu füllen, ab NT "NtQuerySystemInformation" (ntdll.dll). Vielleicht findest du ja einen Delphi-Wrapper für dein Problem, denn der Code sieht wirklich nicht schön aus. Direkt nach Delphi kannst du diese nützliche Methode jedenfalls nicht konvertieren.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Den Speicherverbrauch und die Basispriorität eines Proze

  Alt 13. Mai 2007, 17:50
Moin Rolf,

auf jeden Fall sollte es möglich sein, diese Informationen auch direkt über die Windows-API zu bekommen, denn intern wird das .NET-Framework auch nichts anderes aufrufen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#6

Re: Den Speicherverbrauch und die Basispriorität eines Proze

  Alt 13. Mai 2007, 17:55
Also, was wäre jetzt sinnvoller, welchen Schritt würdet Ihr gehen. Ich bin mir da gerade noch etwas unschlüssig.

Erstens:
Die nötigen Funktionen in C# zu schreiben und dann daraus eine DLL machen.
Zweitens:
Das ganze nach Delphi portieren und dort verwenden.

Zu erstens habe ich dann noch eine Frage, funktioniert das ganze auch dann, wenn ich keine Version von .NET Framework installiert habe ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz