Entwickler-Ecke
Freeware Projekte - ETS - Der ExeTimeSaver #30
Regan - Sa 02.06.07 13:59
Titel: ETS - Der ExeTimeSaver #30
ETS - Der ExeTimeSaver
ETS ist ein Programm, mit dem man die Laufzeit von vorher eingestellten Programmen dokumentieren kann. Das kann zum Beispiel bei Spielen interessant sein. Auch wird bei 98% aller Programmen der Speicherbedarf angegeben. Das Programm dokumentiert des Weiteren seine eigene Laufzeit und man kann den vorhandenen und freien RAM einsehen. Daneben wird der maximale und aktuelle Speicherverbrauch einer Anwendung angegeben. Dieser wird protokolliert und kann auf Wunsch für die letzten 12 Stunden Laufzeit eingesehen werden.
Das Programm wird ohne Installer geliefert. Es werden im Anwendungsdatenordner Daten abgelegt. Es wird nur eine Datei mitgeliefert. Diese befindet sich direkt in dem Archiv (also ohne Unterordner).
| Changelog powered by DevProject Manager [http://www.gaijin.at/dldevproject.php]: |
Version #30:
[+] Laufende Programme können hinzugefügt werden
[+] Maximale Auslastung
[+] Speicherauslastung der letzten 24 h wird für jedes Programm minutengenau aufgezeichnet
[*] Performance deutlich verbessert
[*] RAM-Anzeige modifiziert
[*] Statistik modifiziert
[*] Symbolik konsistenter gemacht.
Version #29:
[*] "Inaktiv" wird bei nicht laufenden Programmen angezeigt
[*] Nicht existierende Programme werden nicht entfernt.
[*] RAM- Auslastung korrigiert (2 GB Grenze geknackt)
[-] Division durch Null Error
Version #28:
[*] Buttons werden deaktiviert, falls nicht auswählbar
[*] Fehler in der Darstellung der Statistik behoben
[*] Statistikhinweise überarbeitet
Version #27:
[i] Erste Version
|
Wünsche/Anregungen/Kritik erwünscht.
MfG
Regan
Chryzler - Sa 02.06.07 14:10
Und für was braucht man das? Ich meine, ich kann jetzt nicht wirklich einen Sinn erkennen. :nixweiss:
Regan - Sa 02.06.07 18:19
Das braucht man dafür, wenn man wissen will, wie lange man eine Anwendung oder Windows laufen hat.
Regan - So 11.05.08 13:42
Hy,
ich habe gerade eine neue Version hochgeladen. Diese unterstützt endlos viele Anwendungen, die überwacht werden. Die Überwachnung wurde in Threads ausgelagert und beinhaltet auf Wunsch auch eine Statistikfunktion.
Download wie immer im ersten Post.
Hiermit möchte ich auch nochmals Silas für seine Unit FastIniFiles danken.
Wie immer freue ich mich über Wünsche, Anregungen und Kritik.
MfG
Regan
huuuuuh - So 11.05.08 14:04
wozu brauch ich wissen wie lange ich ein programm ausgeführt hab?
BigBrother is watching you :shock:
Jakob_Ullmann - So 11.05.08 14:10
Könntest du vielleicht einen Screenshot anhängen? Muss ich deinem Programm erst mitteilen, dass ich eine Anwendung starte/schließe (also praktisch ein einfacher Counter) oder bemerkt das dein Programm automatisch (nur so wäre es IMHO überhaupt ein wenig sinnvoll)?
Silas - So 11.05.08 15:06
Die Idee an sich ist schonmal recht gut. :zustimm:
Ein paar Vorschläge:
- Einen wirklich praktischen Nutzen hätte dein Programm, wenn es die maximale / durchschnittliche CPU- / Speicherauslastung anzeigen würde. Dann könnte man sich schnell einen Überblick über die Ressourcenfresser verschaffen.
- Man sollte beim erstellen eines Eintrags die Werte direkt bearbeiten können und als Default-Anzeigename sollte der Dateiname der EXE ohne '.exe' verwendet werden.
- Es sollte mit poScreenCenter gestartet werden ;)
- Man sollte die Fenstergröße ändern können
- Nimm für die Modalfenster bsDialog, sonst sieht's so gedätscht aus. ;)
- Beim einem "Doppelstartversuch" sollte statt der Meldung das Programmfenster wieder angezeigt werden.
- Ein Button zum Hinzufügen aller momentan laufenden Prozesse sowie die Option, alle jemals laufenden Prozesse zu überwachen, wäre gut (evtl. mit Filter/Blacklist).
- Ein Bug: Während ein zu messendes Programm läuft, bekommt man beim Versuch, das Statistikfenster zu schließen, eine "ungültige Zeigeroperation" geworfen.
Edit: Regan hat folgendes geschrieben: |
| Hiermit möchte ich auch nochmals Silas für seine Unit FastIniFiles danken. |
:flehan:
Regan - So 11.05.08 17:03
huuuuuh hat folgendes geschrieben: |
| wozu brauch ich wissen wie lange ich ein programm ausgeführt hab? |
Um zum Beispiel festzustellen, wie lange du Windows laufen hast oder wie lange du Spiele spielst.
huuuuuh hat folgendes geschrieben: |
| BigBrother is watching you :shock: |
Du kannst es ja auch als Quickstarter nutzen.
Jakob_Ullmann hat folgendes geschrieben: |
| Könntest du vielleicht einen Screenshot anhängen? |
Hab ich :wink: .
Jakob_Ullmann hat folgendes geschrieben: |
| Muss ich deinem Programm erst mitteilen, dass ich eine Anwendung starte/schließe (also praktisch ein einfacher Counter) oder bemerkt das dein Programm automatisch (nur so wäre es IMHO überhaupt ein wenig sinnvoll)? |
Es bemerkt automatisch, wenn der Prozess läuft und startet die Aufzeichnung.
Silas hat folgendes geschrieben: |
| Die Idee an sich ist schonmal recht gut. :zustimm: |
Danke.
Silas hat folgendes geschrieben: |
Ein paar Vorschläge:
- Einen wirklich praktischen Nutzen hätte dein Programm, wenn es die maximale / durchschnittliche CPU- / Speicherauslastung anzeigen würde. Dann könnte man sich schnell einen Überblick über die Ressourcenfresser verschaffen.
|
Muss ich mal schauen, ob ich das einbaue. Das Programm frisst schon so viel zu viel Speicher :wink: .
Silas hat folgendes geschrieben: |
- Man sollte beim erstellen eines Eintrags die Werte direkt bearbeiten können und als Default-Anzeigename sollte der Dateiname der EXE ohne '.exe' verwendet werden.
|
Wird geändert.
Silas hat folgendes geschrieben: |
- Es sollte mit poScreenCenter gestartet werden ;)
|
Geändert.
Silas hat folgendes geschrieben: |
- Man sollte die Fenstergröße ändern können
|
Geändert.
Silas hat folgendes geschrieben: |
- Nimm für die Modalfenster bsDialog, sonst sieht's so gedätscht aus. ;)
|
Geändert.
Silas hat folgendes geschrieben: |
- Beim einem "Doppelstartversuch" sollte statt der Meldung das Programmfenster wieder angezeigt werden.
|
Muss ich mal schauen, wie ich das einbaue.
Silas hat folgendes geschrieben: |
- Ein Button zum Hinzufügen aller momentan laufenden Prozesse sowie die Option, alle jemals laufenden Prozesse zu überwachen, wäre gut (evtl. mit Filter/Blacklist).
|
Wie meinst du das mit "jemals laufende Prozesse"? Mein Programm weiß doch nicht, außer es speichert die Prozesse, was am Vortag lief :? .
Silas hat folgendes geschrieben: |
- Ein Bug: Während ein zu messendes Programm läuft, bekommt man beim Versuch, das Statistikfenster zu schließen, eine "ungültige Zeigeroperation" geworfen.
|
Kann ich nicht reproduzieren. Könntest du mir vielleicht nochmal die Reihenfolge der Klicks sagen?
Silas hat folgendes geschrieben: |
Edit: Regan hat folgendes geschrieben: | | Hiermit möchte ich auch nochmals Silas für seine Unit FastIniFiles danken. | :flehan: |
:wink: .
Silas - So 11.05.08 18:08
Regan hat folgendes geschrieben: |
| Die Überwachnung wurde in Threads ausgelagert. |
Regan hat folgendes geschrieben: |
| Muss ich mal schauen, ob ich das einbaue. Das Programm frisst schon so viel zu viel Speicher :wink: . |
kA, wie du das implementiert hast, aber warum hast du das mit Threads gelöst? Ein Timer auf 2-3 Sekunden wäre resourcenschonend und auf 1-2 Sekunden Messfehler kommt es doch eh nicht an, oder?
Regan hat folgendes geschrieben: |
| Wie meinst du das mit "jemals laufende Prozesse"? Mein Programm weiß doch nicht, außer es speichert die Prozesse, was am Vortag lief :? . |
Da habe ich mich ein wenig ungünstig ausgedrückt, ich meinte damit, dass dein Programm beim überwachen der Prozessliste sich alle jemals gelaufenen merkt, um sie zählen zu können.
Regan hat folgendes geschrieben: |
Silas hat folgendes geschrieben: | - Ein Bug: Während ein zu messendes Programm läuft, bekommt man beim Versuch, das Statistikfenster zu schließen, eine "ungültige Zeigeroperation" geworfen.
| Kann ich nicht reproduzieren. Könntest du mir vielleicht nochmal die Reihenfolge der Klicks sagen? |
Oh, hab gerade gemerkt dass meine Beschreibung so nicht ganz stimmt: Der Bug tritt auf, während ein Programm läuft, das über dein Programm gestartet wurde (also über "Ausführen").
Regan - So 11.05.08 20:19
Silas hat folgendes geschrieben: |
Regan hat folgendes geschrieben: | | Die Überwachnung wurde in Threads ausgelagert. |
Regan hat folgendes geschrieben: | | Muss ich mal schauen, ob ich das einbaue. Das Programm frisst schon so viel zu viel Speicher :wink: . | kA, wie du das implementiert hast, aber warum hast du das mit Threads gelöst? Ein Timer auf 2-3 Sekunden wäre resourcenschonend und auf 1-2 Sekunden Messfehler kommt es doch eh nicht an, oder? |
Naja. Messfehler sollten eigentlich nicht sein. Und die Threadvariante ist nach meinen Messungen wesentlich schneller und verbraucht weniger Prozesserleistung.
Silas hat folgendes geschrieben: |
Regan hat folgendes geschrieben: | | Wie meinst du das mit "jemals laufende Prozesse"? Mein Programm weiß doch nicht, außer es speichert die Prozesse, was am Vortag lief :? . | Da habe ich mich ein wenig ungünstig ausgedrückt, ich meinte damit, dass dein Programm beim überwachen der Prozessliste sich alle jemals gelaufenen merkt, um sie zählen zu können. |
Aber du weißt schon, dass dadurch das Programm sehr langsam wird. Deshalb werde ich mir das nochmals gründlich überlegen müssen. Das Programm ist eigentlich nur dazu gedacht, dass man sieht, wie lange man Windows laufen hat und wie oft und lange man einige Applikationen nutzt.
Silas hat folgendes geschrieben: |
Regan hat folgendes geschrieben: | Silas hat folgendes geschrieben: | - Ein Bug: Während ein zu messendes Programm läuft, bekommt man beim Versuch, das Statistikfenster zu schließen, eine "ungültige Zeigeroperation" geworfen.
| Kann ich nicht reproduzieren. Könntest du mir vielleicht nochmal die Reihenfolge der Klicks sagen? | Oh, hab gerade gemerkt dass meine Beschreibung so nicht ganz stimmt: Der Bug tritt auf, während ein Programm läuft, das über dein Programm gestartet wurde (also über "Ausführen"). |
Kann ich reproduzieren und sollte gefixt sein.
Update: 3.1: Fehlerbehebung und Designzeugs.
Silas - So 11.05.08 20:31
Regan hat folgendes geschrieben: |
| Aber du weißt schon, dass dadurch das Programm sehr langsam wird. |
Timer verbrauchen (zumindest in allen meinen bisherigen Programmen) auch bei theoretischen 1 ms Intervall sowieso so gut wie keine Prozessorzeit, und ich denke 1 Sekunde Messgenauigkeit langen voll und ganz. Du liest die Prozessliste für die Überprüfung doch sowieso, oder? Und das Aktualisieren der Prozessorzeit/auslastung darf ruhig niedriger getaktet sein.
Regan hat folgendes geschrieben: |
| Das Programm ist eigentlich nur dazu gedacht, dass man sieht, wie lange man Windows laufen hat und wie oft und lange man einige Applikationen nutzt. |
Ja, aber diese Features würden das Tool wesentlich interessanter machen, sieh dir doch mal das restliche Feedback an ;)
huuuuuh - So 11.05.08 21:27
der timer geht bei werten <50ms automatisch auf 50ms
ein intervall kleiner als 50ms geht also nich
Silas - Mo 12.05.08 06:33
Silas hat folgendes geschrieben: |
| Timer verbrauchen auch bei theoretischen 1 ms Intervall sowieso so gut wie keine Prozessorzeit. |
huuuuuh hat folgendes geschrieben: |
| der timer geht bei werten <50ms automatisch auf 50ms |
Stimmt zum Teil. Bei Werten < 25 ms wird der Windows-Timer unzuverlässig, theoretisch gibt es aber keine Untergrenze.
Regan - Mo 12.05.08 15:38
Silas hat folgendes geschrieben: |
| Du liest die Prozessliste für die Überprüfung doch sowieso, oder? |
Nein :wink: .
Silas hat folgendes geschrieben: |
| Und das Aktualisieren der Prozessorzeit/auslastung darf ruhig niedriger getaktet sein. |
OK. Du hast mich überzeugt. Aber wie komme ich von meiner Exedatei an die Speicherauslastung? Hast du da vielleicht einen Link?
Jakob_Ullmann - Mo 12.05.08 15:45
Such mal im Forum. Ich hab auch mal danach gesucht und was gefunden. :roll: Allerdings habe ich es nicht verwendet, weil es viel zu kompliziert war. Und Code, den ich nicht verstehe, baue ich nur ungern irgendwie ein (außer vielleicht SynEdit oder sowas), und erst recht nicht, wenn das ganze Programm daraus besteht. :wink:
Silas - Mo 12.05.08 20:52
Regan hat folgendes geschrieben: |
| Aber wie komme ich von meiner Exedatei an die Speicherauslastung? Hast du da vielleicht einen Link? |
In der psapi.dll gibt es eine Funktion namens
GetProcessMemoryInfo. Die wirst du wahrscheinlich selber einbinden müssen, weil Delphi sie nicht in der Windows.pas hat. Google einfach mal danach. ;)
Regan - Mi 14.05.08 17:59
Silas hat folgendes geschrieben: |
Regan hat folgendes geschrieben: | | Aber wie komme ich von meiner Exedatei an die Speicherauslastung? Hast du da vielleicht einen Link? |
In der psapi.dll gibt es eine Funktion namens GetProcessMemoryInfo. Die wirst du wahrscheinlich selber einbinden müssen, weil Delphi sie nicht in der Windows.pas hat. Google einfach mal danach. ;) |
OK. Ich habs jetzt eingebaut, allerdings noch keine neue Version hochegladen.
Bezüglich der statistischen Erfassung der Daten: Wie hast du dir das vorgestellt? Du hast ja etwas von maximalen und Durchschnitswert gesagt. Soll das ganze irgendwie gespeichert werden?
Jakob_Ullmann - Mi 14.05.08 18:44
Nun um zu wissen, was das meist ausgeführte Programm ist, brauch ich ja nur mal ins Startmenü von WinXP gucken und ich stelle fest, dass es Firefox, Delphi 7, Delphi 5, Word, Photoshop und Excel sind. :wink: Ne, aber warum speicherst du die Daten nicht in einer Datenbank oder Textdatei und stellst das dann als Liniendiagramm dar? Sowas könntest du auch mit TChart realisieren, wenn du keine Lust hast, dich selbst um die Diagramme zu kümmern (wobei das ja nicht so schwer sein dürfte). :wink:
Regan - Mi 14.05.08 18:47
Jakob_Ullmann hat folgendes geschrieben: |
| Nun um zu wissen, was das meist ausgeführte Programm ist, brauch ich ja nur mal ins Startmenü von WinXP gucken und ich stelle fest, dass es Firefox, Delphi 7, Delphi 5, Word, Photoshop und Excel sind. :wink: |
Ich will aber die Programme haben, die am längsten laufen :wink: .
Jakob_Ullmann hat folgendes geschrieben: |
| Ne, aber warum speicherst du die Daten nicht in einer Datenbank oder Textdatei und stellst das dann als Liniendiagramm dar? Sowas könntest du auch mit TChart realisieren, wenn du keine Lust hast, dich selbst um die Diagramme zu kümmern (wobei das ja nicht so schwer sein dürfte). :wink: |
Hast du dir das Programm mal runtergeladen? Anscheinend nicht :( .
Silas - Mi 14.05.08 18:50
Regan hat folgendes geschrieben: |
| Wie hast du dir das vorgestellt? Du hast ja etwas von maximalen und Durchschnitswert gesagt. Soll das ganze irgendwie gespeichert werden? |
Ja, ich dachte, dass du es einfach so wie die Laufzeit des Programms mitspeicherst.
Der Maximalwert sollte ja klar sein, du überprüfst einfach, ob er größer als der letzte Maximalwert war, und speicherst immer den letzten.
Den Durchschnittswert berechnest du dann einfach mit
Delphi-Quelltext
1:
| DurchschnittNeu = ( DurchschnittAlt * AnzahlMessungenBisher + NeuerWert ) / AnzahlMessungenGesamt |
. Hier genügt es also auch, wenn du den letzten Durchschnittswert und die Anzahl Messungen speicherst.
Edit: Für den Durchschnitt würde ich dann natürlich ein Float nehmen ;)
Regan - Mi 14.05.08 18:53
Silas hat folgendes geschrieben: |
Regan hat folgendes geschrieben: | | Wie hast du dir das vorgestellt? Du hast ja etwas von maximalen und Durchschnitswert gesagt. Soll das ganze irgendwie gespeichert werden? |
Ja, ich dachte, dass du es einfach so wie die Laufzeit des Programms mitspeicherst.
Der Maximalwert sollte ja klar sein, du überprüfst einfach, ob er größer als der letzte Maximalwert war, und speicherst immer den letzten.
Den Durchschnittswert berechnest du dann einfach mit Delphi-Quelltext 1:
| DurchschnittNeu = ( DurchschnittAlt * AnzahlMessungenBisher + NeuerWert ) / AnzahlMessungenGesamt | . Hier genügt es also auch, wenn du den letzten Durchschnittswert und die Anzahl Messungen speicherst.
Edit: Für den Durchschnitt würde ich dann natürlich ein Float nehmen ;) |
OK und würdest irgendeine statistische Auswertung in einem Diagramm machen oder ist das eher nicht sinnvoll?
Silas - Mi 14.05.08 18:56
Könntest du machen, wäre in meinen Augen aber nicht so sinnvoll, weil das Diagramm nicht besonders viel Aussagekraft hätte (Die Auslastung ist meistens eh gleich und wenn nicht, hängt das von äußeren Umständen ab).
Regan - Mi 14.05.08 18:59
OK. Dann setzte ich mich jetzt mal an die Umsetzung :wink: .
Regan - Mi 21.05.08 18:49
Ich schiebe hier mal nach einer Woche ein kleines Zwischenrelease ein: 3.1.1
Neben der Speicheranzeige kann jetzt auch die ganze Prozessliste eingespeist werden :wink: .
Download im ersten Post, über Wünsche, Anregungen und Kritik freue ich mich natürlich :wink: .
Silas - Mi 21.05.08 19:21
N'Abend,
was ist denn bei dem Release los? :gruebel:
- Der Speicherverbrauch von Notepad ist immer 0k
- Wenn ich ein Item hinzufügen möchte und auf OK klicke, wird's nicht hinzugefügt
- Beim Zeichnen des Statistik-Diagramms wirft er mir eine EDivByZero
Regan - Mi 21.05.08 20:13
Silas hat folgendes geschrieben: |
N'Abend,
was ist denn bei dem Release los? :gruebel: |
Eigentlich nichts :P .
Silas hat folgendes geschrieben: |
- Der Speicherverbrauch von Notepad ist immer 0k
|
Kann ich nicht reproduzieren. Bei mir ist es immer ein Wert.
Silas hat folgendes geschrieben: |
- Wenn ich ein Item hinzufügen möchte und auf OK klicke, wird's nicht hinzugefügt
|
Gefixt.
Silas hat folgendes geschrieben: |
- Beim Zeichnen des Statistik-Diagramms wirft er mir eine EDivByZero
|
Puh das wird schon schwieriger. Vielleicht kannst du mal den Stats Ordner im Anwendungsdatenverzeichnis/Regan/ETS/ löschen.
Wenn das nicht hilft, dann werd ich dir mal ein Spezialbuild machen, aber eig sollte es funktionieren :gruebel: . Welches XP SP hast du?
Version 3.1.2: Fehler beim Hinzufügen gefixt.
Silas - Mi 21.05.08 20:36
Regan hat folgendes geschrieben: |
| Welches XP SP hast du? |
Service Pack 3, bin mir aber nicht sicher obs die Final ist.
Das mit der Auslastung funktioniert nur, wenn das Programm geöffnet ist, wärend ich's hinzufüg. Wie oft aktualisierst du die Anzeige denn? Nach dem Schließen bleibt die Auslastung nämlich bestehen.
Vielleicht wäre ein Always-On-Top-Button noch ganz gut (zur Überwachung).
Edit: @EDivByZero: Funktioniert nach dem löschen der Stats.
Regan - Do 22.05.08 08:04
Silas hat folgendes geschrieben: |
Regan hat folgendes geschrieben: | | Welches XP SP hast du? | Service Pack 3, bin mir aber nicht sicher obs die Final ist. |
Daran kanns schonmal nicht liegen. Den hab ich auch.
Silas hat folgendes geschrieben: |
| Das mit der Auslastung funktioniert nur, wenn das Programm geöffnet ist, wärend ich's hinzufüg. Wie oft aktualisierst du die Anzeige denn? Nach dem Schließen bleibt die Auslastung nämlich bestehen. |
Ich: aller 5 Sekunden. Ich weiß ja nicht welchen Wert du in den Einstellungen eingestellt hast!? (Ich glaub, jetzt weiß ich, woran es liegt :wink: )
Silas hat folgendes geschrieben: |
| Vielleicht wäre ein Always-On-Top-Button noch ganz gut (zur Überwachung). |
Steht auf der ToDo.
Silas hat folgendes geschrieben: |
| Edit: @EDivByZero: Funktioniert nach dem löschen der Stats. |
Schön.
Silas - Do 22.05.08 08:26
Regan hat folgendes geschrieben: |
| Ich weiß ja nicht welchen Wert du in den Einstellungen eingestellt hast!? |
Ah, da kann man ja was einstellen (:oops:). Er verträgt keine 0 ;).
Vielleicht könntest du die Intervalleinheit auf Millisekunden ändern (weil es ja Leute geben könnte (mich z.B. ;) ), die alle halbe Sekunde aktualisieren möchten.
Regan - Do 22.05.08 08:33
Silas hat folgendes geschrieben: |
Regan hat folgendes geschrieben: | | Ich weiß ja nicht welchen Wert du in den Einstellungen eingestellt hast!? |
Ah, da kann man ja was einstellen (:oops:). Er verträgt keine 0 ;).
Vielleicht könntest du die Intervalleinheit auf Millisekunden ändern (weil es ja Leute geben könnte (mich z.B. ;) ), die alle halbe Sekunde aktualisieren möchten. |
Hab ich mir mit aufgeschrieben.
Silas - Do 22.05.08 08:39
Ah, Moment, beim Bearbeiten von einem Eintrag funktioniert das Übernehmen noch nicht.
Edit: Man kann kein Programm löschen, das läuft. Das könnte manchmal u.U. aber erwünscht sein (bei Systemprozessen z.B.).
Regan - Fr 23.05.08 16:39
Silas hat folgendes geschrieben: |
| Ah, Moment, beim Bearbeiten von einem Eintrag funktioniert das Übernehmen noch nicht. |
Gefixed.
Silas hat folgendes geschrieben: |
| Edit: Man kann kein Programm löschen, das läuft. Das könnte manchmal u.U. aber erwünscht sein (bei Systemprozessen z.B.). |
Kann ich nicht reproduzieren. Kannst du nochmal genau beschreiben, wie du das gemacht hast/was du machen wolltest.
Version 3.1.3:
- AlwaysOnTop
- Bug beim Bearbeiten gelöscht :wink: .
Silas - Fr 23.05.08 16:50
Regan hat folgendes geschrieben: |
Silas hat folgendes geschrieben: | | Edit: Man kann kein Programm löschen, das läuft. Das könnte manchmal u.U. aber erwünscht sein (bei Systemprozessen z.B.). |
Kann ich nicht reproduzieren. Kannst du nochmal genau beschreiben, wie du das gemacht hast/was du machen wolltest. |
Hat sich erledigt, funktioniert jetzt nach dem Löschen der Anwendungsdaten.
Ein etwas eigenartiger Fehler (desmal bin ich mir auch ziemlich sicher, dass er einer ist ;) ): Bei Unreal Tournament 2004 (das einzige wo ichs bis jetzt beobachtet hab) ist die Speicherauslastung grundsätzlich 0, auch nach dem neu-Hinzufügen. Der Zeitzähler funktioniert dabei aber (und beide Funktionen für andre Programme auch).
delphi10 - Fr 23.05.08 18:06
Regan hat folgendes geschrieben: |
Silas hat folgendes geschrieben: | | Du liest die Prozessliste für die Überprüfung doch sowieso, oder? |
Silas hat folgendes geschrieben: | | Und das Aktualisieren der Prozessorzeit/auslastung darf ruhig niedriger getaktet sein. |
OK. Du hast mich überzeugt. Aber wie komme ich von meiner Exedatei an die Speicherauslastung? Hast du da vielleicht einen Link? |
Etwas so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| Procedure TForm3.GetMemP; var MS: TMemoryStatus; begin GlobalMemoryStatus(MS); Label1X.Caption := FormatFloat('RAM vorhanden '+'#,###" KB"', MS.dwTotalPhys / 1024); Label1Y.Caption := FormatFloat('RAM verfügbar '+'#,###" KB"', MS.dwAvailPhys / 1024); end; |
Funktioniert mit W2K und XP SP2, Vista ??
Gruß Delphi10
Regan - Di 17.02.09 14:51
Ich habe auf die Version #27 aktuallisiert. Alles weitere im ersten Post.
Regan - Mi 18.02.09 14:10
Ich habe auf die Version #28 aktuallisiert. Alles weitere im ersten Post.
Regan - Fr 20.02.09 16:26
Ich habe auf die Version #29 aktuallisiert. Alles weitere im ersten Post.
Regan - Sa 14.03.09 20:21
Ich habe auf die Version #30 aktuallisiert. Alles weitere im ersten Post.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!