Free ProcessMan (Weihnachts-Beta)

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

> Die Anzeige vom RAM.. ääh, beziehst du dich auf das "Überwachungs"-Feld oder in der Prozessliste?
Dabei beziehe ich mich auf die Überwachungsseite. Es ist zwar informativ, dass gerade noch 1651247424 Byte RAM frei sind, aber so direkt kann ichdamit nichts anfangen. Wie gesagt, würde ich mir persönlich eine Einstellmöglichkeit wünschen, sodass wahlweise alles in Byte/KB/MB/GB/Auto angezeigt wird.
Einstelllungsmöglichkeiten wie diese musst du ja nicht unbedingt im Einstellungsdialog unterbringen, bei vielen solcher Kleinigkeiten reciht es, wenn man auf die Sache (wie diese RAM-Anzeige) mit rechts draufklickt, und ein Kontextmenü geht auf, wo man den entsprechenden Menüeintrag auswählen kann.
So hat man die Einstellungsmöglichkeiten "direkt vor Ort" und der Einstellungsdialog wird nicht aufgebläht.

> Die Aktualisierungsrate kannst du einstellen.
Hm, das habe ich nicht gefunden... Oder hast du mittlerweile eine neue Version hochgeladen? Ich weiß nicht, wo ich das einstellen kann...

> ich benutz die Funktion CPUUsage() der PBOSL (was übrigens auch deine Frage beantworten dürfte^^)
Ja, das tut sie^^


> Autostart dachte ich kann jeder selbst machen, einfach ein Link zur Anwendung in den Autostart Ordner... Ich arbeite nicht gerne in der Registry, weil das vielen unangenehm ist
Ich dachte aus diversen Gründen an eine solche Funktion:
-Ich bin faul
-Auch für andere Anfänger ist es leichter, wenn dein Programm das übernimmt (Computer sind dazu da, um einem die Arbeit abzunehmen^^)
-Wer sagt was von Registry? Erstelle doch einfach eine stinknormale Verknüpfung im Start>Programme>Autostart-menü! Diese kann notfalls auch von nicht so erfahrenen PC Benutzern gelöscht werden.

> Profi features...
Soetwas wäre meine Idee für Leute (wie mir), denen es auch in den Fingern kribbelt, sobald sie ein Profiprogramm sehen, das Potential hat! @ Zeitgesteuerte Sachen: Dein Programm soll nicht den Taskplaner von Windows ersetzen! Wozu das Rad nochmal neu erfinden?^^ Ich dachte z. B. eher an soetwas wie "Prozess in ... Minuten beenden" oder solche Scherze. Dabei darf es natürlich nicht passieren, dass dein Programm überladen wird. Kann ja auch sein, dass es Leute gibt, die damit nichts anfangen können oder das nicht wollen.
Deshalb wäre mein Vorschlag, dass man in den Einstellungen diese "Profifeatures" per CheckBox manuell freischalten kann oder eben nicht. So bleibt die Übersicht gewahrt für Leute, die damit nichts anfangen können.

> Auch das immer dann ein Programm aufruft, wenn über längere Zeit reichlich CPU-Ressourcen frei sind müsste eigentlich machbar sein
Jo, soetwas wäre bestimmt nützlich, z. B. könnte man so AntiVirenprogramme, Defragmentierungsprogramme, Downloadmanager, Analysetools und was-weiß-ich immer dann starten, wenn der Rechner idle't (brach liegt). Vielleicht überzeugt dich ja auch eine optionale Option, den Prozess von FPM automatisch beenden zu lassen, wenn der Rechner wieder benutzt wird. Oder dass der Prozess beendet oder gar nicht erst gestartet wird, wenn die Stromversorgung des Rechners plötzlich mit Batterien läuft (nützlich bei Verwendung eines Notebooks).


> Das mit den Dienstprioritäten hab ich hier auch, aber auch Taskman schafft das nicht. Ich schätze dazu muss das Programm sich irgendwelche Ultra-Rechte erst verschaffen oder es ist einfach nicht möglich.. hab kein Plan^^
Habe ich auch gerade festgestellt, offenbar kann ich keine Prioritäten von Programmen ändern, die unter SYSTEM gestartet werden.

> Der Unterschied im Programm zwischen Schließen und Zerstören ist folgender
Hm... Ich weiß ja nicht, was DestroyWindow_() bewirken soll, aber offenbar willst du mit dieser Option einen Prozess gewaltsam Killen, wenn er muckt... Vielleicht reciht es ja, alle Fenster des prozesses zu verstecken und seine Priorität auf niedrig zu setzen, wenn er nicht reagiert? So kann der Benutzer wenigstens normal weiterarbeiten. Aber vielleicht war dieser Absatz ja auch Quatsch, wie gesagt, ich weiß nicht, was die API Funktion bewirkt.


Was ich noch fragen wollte: Was wird denn da eigentlich optimiert, wenn ich einen Prozess optimieren lasse? Was passiert dabei genau?


Und noch ein paar Tipps:
-Separatoren zwischen den ToolbarButtons wären nicht schlecht
-Einstellungen>Spalten: Mach hier doch lieber aus den Einträgen ein ListIconGadget() mit Checkboxen. Der Sinn soll sein, dass du neben das Gadget noch 2 Knöpfe machst: AUF und AB, sodass man die Reihenfolge einstellen kann, in der man die Spalten haben will. Man kann die Spalten zwar manuell verschieben (#PB_ListIcon_HeaderDreckDrop), aber das merkt sich das Programm nicht.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
coder
Beiträge: 204
Registriert: 25.09.2005 17:53
Computerausstattung: Intel Core2Quad Q8200 @ 2.33GHz
ASUS P5Q3, 2GB DDR3-1066 RAM, ATi Raedeon HD 4850
Wohnort: Deutschland
Kontaktdaten:

Beitrag von coder »

Ich hab einen kleinen Bug gefunden:
Wenn den fpm im Tray lassen und dann doppelt drauf klicke (oder halt LMT -> Zeige FreeProzessMan) kommt nur der Eintrag in der Taskleiste aber das Fenster erscheint nicht!

An sonsten: geiles Tool :shock: :allright:
Windows 7 x64 | PureBasic 4.60 4.50 4.02
Ja verdammt, meine Eltern wohnen immer noch bei mir!
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Wo ich in der Hilfe den Befehl SetWindowCallback() sehe, fällt mir ein, was ich noch schreiben wollte:

Wechsle doch mal zu deinem CPU-Auslastungsdiagramm.
Wenn man das Fenster verschiebt, wird dieses Diagramm solange nicht mit aktualisiert. (Während man die Maus auf der Titelleiste gedrückt hält, werden keine WindowEvent() verarbeitet. Das kann man mit Callbacks umgehen.)
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
jpd
Beiträge: 380
Registriert: 14.02.2005 10:33

Beitrag von jpd »

Hi Jilocasin,

finde dein Process Manager richtig schön!

die grafische oberflasche ist dir richtig gut gelungen! :allright:

habe unter Vista folgende probleme mit den menu festgestellt:



Menu_err1

Menu_err2

und was überhaupt nicht funktioniert ist das netwerk monitoring,

wenn dieser gewählt wird stürtzt ProcessMan nach 1~2 sekunden ab

wie macht man eigentlich diese schöne "button" im panelgadget?


Ciao
jpd
PB 5.10 Windows 7 x64
Jilocasin
Beiträge: 665
Registriert: 13.05.2006 16:04
Kontaktdaten:

Beitrag von Jilocasin »

Autschi.. das Menü sieht ja richtig böse aus :lol:

Tut mir Leid dass ich zu vorigen Posts bisher nichts mehr geantwortet hab, war keine Absicht, ich bin bloß bis morgen nicht zu Hhause und kann so ein klein wenig schlecht Bugfixen^^

Ähm.. ich melde mich bald wieder, wenn es was neues gibt

PS: Autostart hab ich kurz davor noch eingebaut <)
Bild
Jilocasin
Beiträge: 665
Registriert: 13.05.2006 16:04
Kontaktdaten:

Beitrag von Jilocasin »

Aaaaaaalso... Moin erstmal :D
Kurzer hat geschrieben:Hmmm, unter Win98 SE passiert nichts. Nach Doppelklick auf freeprocessman.exe geht weder ein Fenster auf, noch ist ein Trayicon zu sehen - auch ist kein weiteres Programm im taskmanager zu sehen.

Woran kanns liegen?
Eine berechtigte Frage :mrgreen:
Ich hab festgestellt dass das Proggi sich am anfang manchmal schwer tut, wenn die automatische Optimierung an ist und mindestens ein Programm momentan nicht reagiert oder irgendwie sonst die Funktion blockiert.

Ooooooder es liegt an AppRunning, wobei ich natürlich PBOSL hier nichts utnerstellen möchte, ist nur eine Möglichkeit die ich erwähnen möcht^^
Also wenn FPM bei dir nicht mit nem Fehler abstürzt und auch kein Process im TaskMan zu sehen ist muss es sich ja wohl regulär selbst beenden. Da gibt es bei mir nur drei Möglichkeiten:

- AppRunning direkt bei Programmstart ergibt TRUE
- Das SystrayProgramm wurde korrekt gestartet und wurde beendet
- Man beendet es manuell^^ (was ich mal in dem Fall ausschließe xD)

Probier mal, falls schon eine freeprocessman.ini erstellt wurde den Wert für PreferencesOptimize auf 0 zu setzen, oder falls nich, erstell so 'ne Ini Datei im Programmverzeichnis und schreib PreferencesOptimize = 0 rein.


Okay... @Thomas:
Ich weiß selbst noch nicht genau wieso manchmal das Menü so zerhackt dargestellt wird.. Mir scheint es so, als wäre es so:
- WindowCallback setzen (AND51, jaa den benutz ich durchaus schon^^), dann erst das Hauptfenster zeigen: Kein Menü-Grafikfehler
- Fenster zeigen, dann erst WindowCallback setzen: Menü-Grafikfehler

Das mit dem Menü ist schon Mist irgendwie, auch dass es bei jpd so mies aussieht ist merkwürdig...
Es sei denn die Verwendung von WM_MEASUREITEM und WM_DRAWITEM unterscheidet sich bei XP und Vista, was aber irgendwie keinen Sinn ergibt..
Ich hab mal einige Sachen noch ausgebessert bei der Berechnung und Darstellung des Menüs...

@jpd: Kannst du's bitte mit der neuen version nochmal testen?

So, jetzt mal zum Network Monitoring... Ich hab leider vergessen ein OnError reinzumachen, das ist jetzt drin, also könntest du mir mal bitte dann genau sagen wo bzw in welcher Zeile das Programm crasht? :wink:

@Der-der-immer-den-längten-Post-schreibt: :mrgreen:
Also mal im Ernst, was soll eine Umschaltung zwischen Byte, KB, MB usw bringen? Das is doch nur verwirrung und Arbeit. Deshalb hab ich doch extra schon die Dreistellen-Unterteilung eingebaut, damit mans chnell sehen kann ob das jetzt MB oda KB oder Handkäs oder sonst was sind :D
Irgendwie seh ich in einer manuellen Anzeige keinen großen Sinn, sry^^

Zum Zweiten Mal zur Aktualisierungsrate:
Gug ma das da an.
Also ich geb zu das ist echt ultra schwer zu finden und totaal kompliziert XD [Vorsicht Ironie]

Okay aber Spaß beiseite, gehen wir weiter..
Autostart ist jetzt integriert, hoffe es gefällt :)

Deine Profi Features werden demnächst drin sein, da bin ich noch am tüfteln, hatte leider bis jetzt noch nicht die Zeit mich darum zu kümmern, aber sobald wie möglich :wink:

Hintergrund-Aufrufe bei Abwesenheit ist wie schon gesagt auch eine geile Idee, das hat mit sicherheit nicht jeder manager, das Problem ist allerdings folgendes:
- Bau ich das in ds Hauptprogramm ein, muss das Ding ständig offen sein.. -> Blöde Lösung
- Bau ich das in die Systray Anwendung ein, frisst die mehr Speicher und die ständige Überprüfung macht wohl auch ein wenig CPU aus -> Ebenfalls blöde Lösung

Zu was würdest du dich entscheiden? /:->


@Dienste:
Hab festgestellt, dass Windows auch noch einige andere Infos wie "Autostarttyp", "Anmelden als..", Pfad zur Exe Datei, Startparameter, Abhängigkeiten usw. ermitteln kann. Wenn das ginge, würd ich das gerne auch noch einbauen, hab aber noch nix gefunden wie man das realisieren könnte :)

Irgendwie hab ich das gefühl DestroyWindow hat echt keinen Sinn, das macht Null :? Vielleicht nehm ichs aus...


Beim Prozess optimieren (ja, ich weiß ich bin faul :P) ruf ich einfach nur RemovePagefaults() auf mit allen selektieren Prozessen. Das bewirkt dass "unnötiger Speicher" ausgelagert wird und unter Umständen auch freigegeben.


Separatoren zwischen den "ToolbarButtons" ..hmm weiß nicht.. hab mich bewusst dagegen entschieden, da das irgendwie meiner Meinung nach irritiert.

Die Idee mit dem ListIconGadget für die Spalten ist gut, aber sag mir eins: Wie soll ich die Spalten beim Start verschieben?? Da bietet PB ja nix dazu und dynamisch den Kram anzulegen wird ziemlich kompliziert ... :roll:

Vorschläge machen ist gut, aber Lösungsvorschläge wären noch besser... :)


@Coder:
Ich hab keine Ahnung woran das liegt...
Ich ruf einfach die Exe auf, und wenn die sonst funktioniert müsste sie es auch aus dem Systray tun.. :?

Soo... der Beitrag is lang genug.. viel Spaß beim Lesen XD
Bild
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

> @ Der-der-immer-den-längten-Post-schreibt:
Was wie wo? Ich seh hier keinen... :lol:

> Also mal im Ernst, was soll eine Umschaltung zwischen Byte, KB, MB usw bringen?
Nicht, dass du denkst, das sollte nur ein Scherz sein, das war durchaus ernst gemeint. Selbstverständlich ist mir nicht entgangen, dass du bereits Tausendertrennzeichen benutzt, an denen man ungefähr ablesen kann, wie viel MB oder GB das nun sind. Aber eben nur ungefähr, denn jeder rechnet doch mit der Zahl 1000 als Umwandlungsfaktor, richtig ist aber 1024. Zumindest ich schaff das nicht im Kopf, würde aber trotzdem gerne etwas genauer wissen, wie viel MB oder GB das sind.
Du musst ja nichts weiter machen, als die Werte durch die Byterechner()-Prozedur zu jagen, dann hast du den Fall "Auto-Einheit" schon mal abgedeckt (Mist, hab vergessen, dass meine Prozedur immer automatsich in die größtmögliche EInheit umrechnet und man das nicht selbst bestimmen kann :oops: ).

> Deshalb hab ich doch extra schon die Dreistellen-Unterteilung eingebaut
Und das war auch sooooo viel Arbeit? (Achtung, ebenfalls Ironie)
»»» Tausendertrennzeichen für (große) Zahlen

> Zum Zweiten Mal zur Aktualisierungsrate: Also ich geb zu das ist echt ultra schwer zu finden und totaal kompliziert XD [Vorsicht Ironie]
Uuuuuupsi! :oops: Ähm... Naja, also... Weißt du... :freak:
Dann mach daraus mal ein SpinGadget() für mehr Komfort, aber ganz flott! :mrgreen:

> Autostart ist jetzt integriert, hoffe es gefällt
Werde es testen! :allright:

> Deine Profi Features werden demnächst drin sein, da bin ich noch am tüfteln, hatte leider bis jetzt noch nicht die Zeit mich darum zu kümmern, aber sobald wie möglich
Jaja, kein Problem, eilt ja nicht, wollte diese Idee nur mal ins Spiel bringen. Unter anderem, weil eben nicht jeder andere "dahergelaufene", "herkömmliche" Taskmanager diese Features hat, wäre dies ja mal eine gute Möglichkeit, deinen etwas aufzupeppen und zu etwas Besonderem zu machen. xD
(noch mehr Poesie gefällig^^)

> Hintergrund-Aufrufe bei Abwesenheit ist wie schon gesagt auch eine geile Idee, das hat mit sicherheit nicht jeder manager, das Problem ist allerdings folgendes:
Ich würde es in die Systray-Anwendung einbauen. Ehrlich gesagt, hab ich den Sinn der Systray-Anwendung immer noch nicht 100%ig Begriffen :oops: , aber wenn die Systray-Anwendung nichts anderes macht, als auf Knopfdruck "den großen Bruder" aufzurufen, kannst du auch da diese Überprüfung einbauen. Du musst ja nicht bei jedem Durchlauf der Hauptschleife diese Überprüfung machen, es reicht ja, in gewissen Intervallen (SetTimer_()). Aber selbst wenn du das bei jedem Durchlauf machst, die API-Funktion GetLastUserInput_() mit einem Wert zu vergleichen, dürfte nicht schwer sein. ^^
(Ich weiß nicht mehr, wie diese Prozedur heißt, die gibt die die Anzahl der Millisekunden zurück, in der keine Eingaben getätigt wurden.)

Ich weiß ja nicht, ob auch ein sinnvolles Feature wäre, ausgewählte Programme zu Hintergrundprozessen zu machen. Kennst du "Distributed Computing", Programme wie BOINC? Die Rechnen im Hintergrund irgendwas aus, aber nur, solange CPU-Kapazitäten frei sind. Sind sie besetzt, pausieren sie ihre Berechnungen. Das könnte dein FPM ja auch tun, steigt die CPU-Last über n%, dann frierst du den Prozess ein.

Solche "Hintergrund-Profi-Features" solltest du auf jeden Fall in die Systray-Anwendung integrieren, denn diese läuft ständig, im gegensatz zur Hauptanwendung, allein deshalb schon solltest du dich dafür entscheiden.

> Separatoren zwischen den "ToolbarButtons" ..hmm weiß nicht.. hab mich bewusst dagegen entschieden, da das irgendwie meiner Meinung nach irritiert
Mich hats bei den ersten Malen irritiert, weil ich dachte, in diesen Lücken befände sich ein weiterer Button. Du sollst wenn dann auch keine Monsterseparatoren einbauen, die sich grässlich hervorheben, sondern nur ganz dezente, aber noch erkennbare Linien.
Dies ist aber eine Frage des Geschmacks, und wenn du dich dagegen entscheidest, dann ist das halt so.

> Die Idee mit dem ListIconGadget für die Spalten ist gut, aber sag mir eins: Wie soll ich die Spalten beim Start verschieben?? Da bietet PB ja nix dazu und dynamisch den Kram anzulegen wird ziemlich kompliziert
Egal, ob man als Benutzer die Anordnung über Auf/Ab Buttons im Einstellungsmenü oder durch verschieben der Spalten-header mit #PB_ListIcon_HeaderDragDrop vornimmt und dann die neue reihenfolge der Spalten abfragt (das geht PB nativ), ich würde mir eine neue Prozedur einbauen, der ich alle Informationen zu einem Prozess übergebe und die für mich dann die Aktualisierungen vornimmt.
Die Prozedur soll sich dann darum kümmern a) welche Informationen angezeigt werden sollen und b) in welcher Reihenfolge.
Natürlich ist das Arbeit, das habe ich vergessen. Und das soll jetzt auch nicht blöd klingen oder so, aber:
Ist das denn nicht die Aufgabe als Programmierer? xD
habe es übrigens gerade getestet und der XP-Taskmanager kann's. Ich erinnere mich da leise an die Worte von wem auch immer: "geile Idee, das hat mit sicherheit nicht jeder manager"
Musst du wissen. Ist ja schließlich dein Programm ich kann nur Vorschläge liefern.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
jpd
Beiträge: 380
Registriert: 14.02.2005 10:33

Beitrag von jpd »

@jpd: Kannst du's bitte mit der neuen version nochmal testen?
so funktioniert der netzwerkmonitor einwandfrei!

menu wie gehabt.

Ciao und guten rutsch!

jpd
PB 5.10 Windows 7 x64
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

Hi,

erstmal TOP vor allem für das Design!
Darf man fragen wie du vor allem die PanelGadgets geändert hast?

1. Währe cool, wenn man Spalten wie Fenster, Dienste Treiber ect. ausblenden könnte....
2. Außerdem fänd ich es super, wenn man in der Netzwerküberwachung noch die freigegebenen Daten anzeigen lassen könnte, bzw. diese Freigaben entfernen, oder anzeigen lassen, wer diese gerade geöffnet hat. (entsprechende Beispielcodes kann ich dir per PN schicken)
3. Hier noch ein Bug:
Wenn ich die Netzwerküberwachung öffne, den Scrollbalken ganz nach rechts verschiebe und dann mit der Maus umherfahre (kann dir leider nicht genau sagen wo die Grenze liegt, wird der Scrollbalken einfach wieder ganz nach links gesetzt.
4. Die Desktopauflösung erkennt meinen zweiten Monitor nicht.
5. Bei Computer an seit... fehlt die Einheit...
6. Die Process ID wird abgekürzt in den Einstellungen aber nicht *konfused*
7. Wenn ich das Fenster in seiner Größe änder, hab ich eine CPU Auslastung von 80%
8. Die minimale Breite könnte noch ein wenig kleiner sein, eben so lang wie die PanelGadgets...
9. Wozu ist die Schaltfläche "Prozessinformationen anzeigen"?
10. Zuletzt würd ich gern noch die Aktualisierungsgeschwindigkeit bei Netzwerk und CPU einstellen...

Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
coder
Beiträge: 204
Registriert: 25.09.2005 17:53
Computerausstattung: Intel Core2Quad Q8200 @ 2.33GHz
ASUS P5Q3, 2GB DDR3-1066 RAM, ATi Raedeon HD 4850
Wohnort: Deutschland
Kontaktdaten:

Beitrag von coder »

Mein Problem hat sich geklärt! Es waren als Fensterposition große negative Zahlen eingetragen wenn ich es minimiert geschlossen habe!
Ist jetzt aber, wie gesagt, irgendwie weg!!

Noch einen Vorschlag von meiner Seite her: Könntest du es einrichten, dass wenn man den fpm minimiert schließt, das er wenn man ihn neu startet auch wieder minimiert ist (ich meine mit minimiert im Tray ist)
Windows 7 x64 | PureBasic 4.60 4.50 4.02
Ja verdammt, meine Eltern wohnen immer noch bei mir!
Antworten