Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   MyTaskManager v0.3.2.1 (https://www.delphipraxis.net/85134-mytaskmanager-v0-3-2-1-a.html)

Luckie 30. Jan 2007 13:37

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?

Darkmorph 30. Jan 2007 13:41

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

himitsu 30. Jan 2007 17:53

Re: MyTaskManager v0.3.2.1
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Müßte unter allen Windows-Versionen lauffähig sein
dazu kann ich nur mals auf's MSDN/PSDK verweisen ... hier mal ein Auszuzug aus dem Vista-PSDK

Zitat:

GetProcessMemoryInfo

Requirements:
Client: Requires Windows Vista, Windows XP, Windows 2000 Professional, or Windows NT Workstation 4.0.
Server: Requires Windows Server "Longhorn", Windows Server 2003, Windows 2000 Server, or Windows NT Server 4.0.
Kurzgesagt nur WinNT+ (kein WinME und Win9x)


:warn: Das mit CreateToolhelp32Snapshot erstellte Handle wird nicht wieder freigegeben!


Delphi-Quellcode:
//wenn erster Durchlauf erfolgreich, dann...
if Process32First(hSnap, pe32) = TRUE then begin
  //solange ein Prozess gefunden wird
  while Process32Next(hSnap, pe32) = TRUE do begin
Der erste Prozess wird nicht ausgewertet.


@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)

Darkmorph 31. Jan 2007 08:37

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

himitsu 31. Jan 2007 12:45

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:

Luckie 31. Jan 2007 12:52

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.

himitsu 31. Jan 2007 13:08

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.

himitsu 3. Feb 2007 13:24

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:
  • Prozesse/Thread anhalten/fortsetzen
  • voller Prozesspfad
    also das auch Verzeichnis anzeigen, wo sich die EXE versteckt
    (diese und andere Infos würden sich z.B. in einem Hint, oder zusätzlischem Fenster praktisch unterbringen lassen)
  • Startparameter mit anzeigen
    (ich weiß jetzt zwar nicht wie, da GetCommandLine nur im aktuellen Prozess arbeitet, aber irgendwie muß es ja gehn)
  • DumpFiles erstellen (Speicherabbilder und sowas)
    dafür würde sich MSDN-Library durchsuchenMiniDumpWriteDump gut eignen
  • die Prioritäg der Prozesse und Threads zeigen/ändern (MSDN-Library durchsuchenGetPriorityClass/MSDN-Library durchsuchenGetThreadPriority)
  • für MultiProzessorSystem wäre es wohl nett, wenn angezeigt würde auf welchem Prozessor die Threads laufen und natürlich sollte man dieses auch ändern können
  • wenn man DefaultWerte für Programme festlegen könnte, wäre es super.
    möglichst auch mit Platzhalter, so daß auch gleich ganze Verzeichnisse behandelt werden können.

    festzulegen würde ich z.B. gern:
    • den Prozessor (also wo das Programm läuft)
    • Startpriorität (sobald das Programm gestartet wird, soll diese zugewiesen werden)
    • maximale CPU-Belastung (bei Überschreitung wird die Priorität runtergeschraubt)
    • ob das programm überhaupt laufen darf (wenn nicht dann beenden)
    • und welche programme immer laufen müssen (halt andersrum, also wenn's nicht läuft dann starten)
    • AlwaysOnTop beim Programmfenster festlegen (bei vielen Programmen läßt sich sowas leider nicht ändern)
  • wie Luckie schon sagte: ein/zwei TrayIcons für CPU/RAM/Pagefile-Auslastung wären nett
  • ...
Zu vielen Dingen gibt's in der DP schon einige Threads, dort kannst du dir ruhig die nötigen Infos holen und notfalls nochmal fragen. :angel:

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)

andresilvaus 11. Mai 2007 14:40

Re: MyTaskManager v0.3.2.1
 
hi,
can i translate this into portuguese?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 Uhr.
Seite 2 von 2     12   

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