![]() |
MyTaskManager v0.3.2.1
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
hier mein erstes Programm, dass ich veröffentliche. Es ist ein Ersatz für die Prozesssparte vom Task-manager. Es zeigt standardmäßig alle Prozesse an, die arbeiten, also CPUTime nutzen. Man kann über eine Checkbox jedoch alle Prozesse anzeigen lassen. Man kann auch einen Prozess markieren und diesen durch Klick auf den Kill-Button killen. Die Refreshrate läßt sich über eine Trackbar einstellen, von 250ms-1500ms. Das Programm wird nur in der TaskBar-Notification-Area angezeigt, ein rechts oder linksklick auf dem Symbol bewirkt, das es angezeigt oder versteckt wird. Dieses Programm schreibt nichts in die Registry und hinterläßt auch keine Dateien auf dem PC. Ich freue mich auf konstruktive Kritik und Verbesserungsvorschläge! TODO: aus einem mir noch! unbekannten Grund wird bei einigen Systemprozessen der Memory-Usage nicht richtig angezeigt, bin aber an der Beseitigung des Fehlers. Müßte unter allen Windows-Versionen lauffähig sein, getestet habe ich es aber nur unter Windows XP (Professional). MfG Benjamin |
Re: MyTaskManager v0.3.2.1
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
irgendwie stimmt was nicht ganz. Dein Programm zeigt einen Prozess zu wenig an und die CPU-Auslastung ist auch nicht ganz korrekt (sofern der TaskManager und der Process Explorer das korrekt anzeigen). Die RAM-Anzeige passt auch nicht. :gruebel: Wie kann man dein Programm wiederherstellen, wenn es minimiert ist? Ich habe kein Kontextmenü und ein Doppelklick aufs TNA-Icon ist auch nutzlos. Schön wäre die Anzeige der CPU/RAM-Auslastung in der TNA. Im Anhang mal ein Screenshot, da siehst du, dass manches nicht so passt. |
Re: MyTaskManager v0.3.2.1
Zitat:
Also die Prozessanzahl wird jetzt richtig angezeigt, hatte damit zu tun, das mein Programm den System-Idle-Prozess nicht berücksichtigt, da mein Programm den selbst errechnet. Zu den Unkorrektheiten bei der Anzeige der CPU-Auslastung der einzelnen Tasks kann ich nur sagen, das ich nicht 100%ig sagen kann woran das liegt, weil mir der Source-Code von dem Process-Explorer nicht vorliegt. Eine Möglichkeit ist, das die unterschiedliche Refreshrate ihren Teil dazu beiträgt und eine andere ist, dass der Process-Explorer möglicherweise eine andere Methode nutzt, um an die CPUTimes der einzelnen Prozesse zu kommen. Ein Rechts- oder Links klick auf das Symbol bewirkt das Verstecken oder Anzeigen meines Programms. hatte in der vorherigen Version nicht (richtig) funktioniert, da ich die Option Always-Stay-On-Top nicht im Quellcode aktiviert hatte. Und nun, zu deinem Feature-Request. Da ich auf dem Gebiet der TNB-Manipulation noch nicht allzuviel Ahnung habe, was ich aber ändern werde, kann das noch ein kleines Weilchen 2-3Tage dauern, bis das realisiert wird. Vielen Dank für deine Aufmerksamkeit und keep up the good work ;) mfg Benjamin |
Re: MyTaskManager v0.3.2.1
Wenn die Liste der Prozesse länger ist, als das Fenster hoch und man runter scrollt, springt die Anzeige immer wieder nach oben, so dass man die letzten Prozesse nur ganz kurz sieht.
Wie sieht es mit Spaltenüberschriften aus? Was wird da zum Beispiel für ein Speicherverbrauch in der letzten Spalte angezeigt? Schön wäre noch den jeweiligen Benutzer zu den Prozessen anzuzeigen. Wenn ich einen Prozess beenden will, der sich nicht beenden lässt, erhalte ich keine Fehlermeldung. Warum nicht? |
Re: MyTaskManager v0.3.2.1
Zitat:
Neue Version ist draussen... Ist immer noch nicht wirklich schön, aber funktional :) Beim nicht erfolgreichen beenden von Programmen gibt es jetzt Fehlermeldungen... Spaltenüberschriften sind jetzt auch vorhanden, auch wenn nich schön :) Die Anzeige springt jetzt nicht mehr... Bitte meldet mir, falls es doch noch irgendwo hackt. So, als nächstes möchte ich Userdraw in der Listbox realisieren (also prozesso über 30% rot zeichnen usw) und dann vielleicht mal Sortierung einführen... mfg Benjamin |
Re: MyTaskManager v0.3.2.1
Warum nimmst du eigentlich keinen Listview?
Du kannst ja mal gucken, was der Taskmanager noch so alles anzeigt und dir da Anregungen holen, was du noch alles anzeigen könntest. Eine Gruppierung nach Parent- und deren Childprozessen wäre eventuell auch schön. PS: Alle Dateien, die mit einer Tilde anfangen, die DCUs usw. brauchen nicht mit ins Archiv. |
Re: MyTaskManager v0.3.2.1
So neue Version 0.3.3.3 ist geupped...
Hi Lucki, werde mir die Listview-Komponente mal ansehen... hab ich noch nicht mit gearbeitet, also kann ich dazu nix sagen. Neues Feature: Prozesse die unter 10% CPU-Time verbrauchen werden blau gemalt und alle die drüber sind rot :) meine erste USER-DRAW-LISTBOX :) mfg Benjamin |
Re: MyTaskManager v0.3.2.1
so, hab mal wieder eine Neue Version kompiliert.
Ab sofort gibts ein PopUp-Menu, welches man durch Rechtsklick auf das Symbol in der Notify Area und durch Klick aufs Programm selber erreicht. Das Programm merkt sich ausserdem ab sofort, wo es beim letzten Beenden positioniert war, d. h. wenn es wieder gestartet wird, erscheint es an genau dieser Stelle. Darüber hinaus wurden einige Bugfixes vorgenommen. @Luckie Ich hab mir die TListview-Komponente grob angeschaut und werde in nächster Zeit bestimmt auch diese bei meinem Programm einführen, nur müsste ich zuviele Anpassungen vornehmen, die ich vermeiden will, solange mein Programm noch nicht 100%-Bugfree ist... mfg Benjamin |
Re: MyTaskManager v0.3.2.1
Zitat:
|
Re: MyTaskManager v0.3.2.1
wenn du dir den source-code ansehen würdest, würdest du merken das ich es getrennt habe...
nur will ich jetzt erst das prog einigermassen funktional bekommen, bevor ich schönungsarbeiten vorantreibe... außerdem habe ich noch nie mit der TListview gearbeitet und müsste mich da erst hineinarbeiten und dazu hab ich momentan nicht die Zeit und Muse :P mfg benjamin PS: Ich weiß schon so ungefähr was Objektorientierung bedeutet :P Ziehst du immer ohne vorher in quellcode geschaut zu haben über jenen her? |
Re: MyTaskManager v0.3.2.1
Ich bin doch nicht über dich hergezogen. Nur hat mich deine Bemerkung mit den vielen Anpassungen dazu verleitet zu denken, dass du eben nicht Daten und Oberfläche getrennt hast, denn warum müsstest du sonst so viele Anpassungen machen?
|
Re: MyTaskManager v0.3.2.1
@luckie
ok... sorry, war wohl bissel in meinem Stolz getroffen *g* Gibt bestimmt auch einiges was man besser machen kann. ab Version 0.4 werd ich die TListview einführen, versprochen =) bis dahin bitte bugs und ähnliches melden, wenn möglich mfg Benjamin |
Re: MyTaskManager v0.3.2.1
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat:
:warn: Das mit CreateToolhelp32Snapshot erstellte Handle wird nicht wieder freigegeben!
Delphi-Quellcode:
Der erste Prozess wird nicht ausgewertet.
//wenn erster Durchlauf erfolgreich, dann...
if Process32First(hSnap, pe32) = TRUE then begin //solange ein Prozess gefunden wird while Process32Next(hSnap, pe32) = TRUE do begin @Luckie: weniger Prozesse laufen lassen? :zwinker: Na ja, er leert bei jedem Refresh die ListBox und füllt sie neu, wobei natürlich der der Cursor nach oben gesetzt wird. Im Anhang ma was kurzes von mir, verwendet wurde nur CreateToolHelp32SnapShot, GetProcessTimes und GetProcessMemoryInfo. Und nich dat sich wer wundert ... funktionieren tut nur die CheckBox und teilweise die TreeView ... sonsts nüschts :oops: och ja, die 4 Zahlen bei den Modulen stimmen och nich mit der Spaltenüberschrift überein... 3:GlobalUsageCount 4:ModuleUsageCount 5:ModuleBaseAddress 6:ModuleBaseSize [add] so, die (neuen) Beiträge #5-#12, sowie die neue Version werd' ich mir dann in Ruhe daheim durchsehn ._. (lag leider die letzten Tage etwas flach :( ... da wurde es halt nichts mit Abschicken) |
Re: MyTaskManager v0.3.2.1
@himitsu
ich bin ausser mit der einfachen Listbox nicht wirklich sehr gut vertraut mit den anderen Anzeige-Komponenten. Wie erstellt man mehrere Spalten bei Treeviews? (vielleicht Treeview mit listbox kombiniert?) Danke für den Hinweis mit den CreateSnapshot-Handle, hab ich mittlerweile gefixed. Kannste deine Sourcen bitte auch zur Verfügung stellen, damit ich mir mal anschauen kann, wie du das gelöst hast? MfG Benjamin |
Re: MyTaskManager v0.3.2.1
Liste der Anhänge anzeigen (Anzahl: 1)
Also, deine neue Version hab ich mir noch nicht angesehn und hier (unter Win9x und Linux) läuft es ja nicht.
Gern doch, mußte aber erst noch etwas aufräumen. Mir ging es ja nicht so gut und dementsprechend sah der Code leider auch aus. :nerd: Das Wichtigste findest du in der Timer-Prozedur. Aber nicht zuviel erwarten, erstens gibt's keine Kommentare und dann ist im Gegensatz zu deinem Programm und auch nochmal Luckies "Vorschlag" Daten und Oberfläche zu trennen, beider verbunden ... also die VirtualTreeView verwaltet auch gleich die Daten mit. So erstpare ich mir dieses und auch gleich noch das zusätzliche übergeben an die TreeView (für die Anzeige) ... halt keine mehrfachen Daten und schnellere Verarbeitung :roll: ... aber laß dich davon nicht beeinflussen ^^ PS: also ich versuche ja auch kaum Fremdkomponenten zu verwenden (du glaubs karnicht wie weit ich schon einige von Delphis Komponenten vergewaltigt hab und was die eigentlich leisten können, wenn man es aus denen nur rauskizelt), aber es ist schon einfacher, wenn man fertige Komponenten nimmt, welche schon das "alles" können. Ich denk mal die JEDIs und VirtualTreeView sind schon eine echt gute und vorallem kostenlose Ergänzung für Delphi :angel: PSS: wenn ich jetzt noch rausgefunden hätte, warum die Unicodeversionen (z.B. Process32FirstW) nicht funktionieren, dann hätte ich die auch eingebaut gelassen ... da ich aber keine "Lust" hatte jetzt noch den ganzen Code zu ändern, wundere dich also nicht warum da die Strings etwas hinundherkonvertiert werden :stupid: |
Re: MyTaskManager v0.3.2.1
Ich glaube, jetzt geht es etwas durcheinander. Würdest du bitte dein Programm in einem separaten Thread vorstellen? Danke.
|
Re: MyTaskManager v0.3.2.1
keine Sorge, ich werd' es eh nicht weiterentwickeln (gibt ja genug davon) ... wenn ich heute/morgen abend noch Zeit finde, dann kommen noch ein paar Kommentare/Leerzeilen rein und das war es auch schon.
(ich bin aber schon froh, daß der Code jetzt erstmal lesbar ist) notfalls können wir es auch löschen und ich schick es ihm einfach per PN. (aber ich denk' andere können ruhig och ma reingucken) ich hatte einfach lange Weile (im Bett) und leider nich die Nerven und Ruhe für was "anspruchsvolleres" ... da hab ich einfach mal geguckt was man wit den schon in Darkmorphs Programm vorhandenen Funktionen noch alles machen kann. |
Re: MyTaskManager v0.3.2.1
Liste der Anhänge anzeigen (Anzahl: 1)
So, Unicode geht nun doch, jetzt gibt es zumindestens beim Auslesen (in Timer1Timer) keinem Unterschied zwischen Ansi und Wide :angel:
(Unicode und dwSize für Ansi passen halt nicht zusammen :wall: ) Bei TH32CS_SNAPMODULE/Module32First hatte ich übersehn, daß es die ModuleID nicht mehr gibt und da sie überall immer nur 1 ist, wurden beim Auslesen alle Module übereinandergeschrieben (da halt gleiche IDs). Ansonsten hab ich nun auch ein paar Kommentare mit eingebaut :angel: Dann hätte ich noch was nützliches Vorzuschlagen, welches vorallem Programmierer gut benötigen könnten:
Die Startparameter und DumpFiles sind inzwischen zwar im Vista-Taskmanager enthalten, aber wer nutzt schon Vista. (die Beta läuft ja noch bis Juli und mal sehn ob sich Vista dann langsam mal lohnt) PS: es wäre wirklich schöner, wenn die "überflüssigen" Dateien nicht im Archiv mit ausgeliefert würden. Es gibt zwar einige Programme zum löschen dieser Dateien, aber soeine Winzige BatchDatei reicht auch schon aus (kannt ja mal in einigen der Projekte hier in der DP nachsehen ... viele haben solch kleine .BAT-, oder .CMD-Dateien dafür mit drin) |
Re: MyTaskManager v0.3.2.1
hi,
can i translate this into portuguese? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz