# Taskmanager, Leistung anzeigen



## Guppi (28. Mrz 2008)

Hi, ich möchte gerne den Taskmanager öffnen. Das ist ja nicht so schwer... Nur möchte ich auch noch, dass der Taskmanager sofort die Option "Leistung" anzeigt. Weiß jemand, wie das geht? Oder gibt es unter windows (ich habe windows Vista) auch eine Option ohne den Taskmanager die Leistung des PC's anzuzeigen?
Schonmal Danke für Antworten!
Mfg, Guppi.


----------



## The_S (28. Mrz 2008)

Sicher, dass du Java und nicht C/C++ programmieren willst?


----------



## Guppi (28. Mrz 2008)

ja, c++ kann ich nicht, nur Java...


----------



## The_S (28. Mrz 2008)

Java ist aber Plattformunabhängig und für systemnahe Sachen nicht gerade geeignet. Klar kann man die Win32-API ansprechen, nativen Code über C/C++ einbinden und irgendwelche native Programme aufrufen, aber du scheinst mir in die Richtung zu wollen, nur solche Dinge zu machen. Und dann solltest du dir evtl. überlegen lieber eine systemnahe Programmiersprache zu lernen  .


----------



## Guppi (28. Mrz 2008)

also geht das mit java nicht?


----------



## The_S (28. Mrz 2008)

Naja, du könntest den Task-Manager öffnen, mit der Klasse Robot einen Screenshot machen, dir dann einen Algorithmus schreiben um den Screenshot zu analysisieren und die Koordinaten des "Leistung"-Reiters zu berechnen. Dann führst du wieder über Robot einen Klick an dieser Stelle aus.

Evtl. lässt sich der Taskmanager auch über eine externe API und/oder Sockets ansteuern, das mag ich aber zu bezweifeln.

Ansonsten hast du noch die Möglichkeit eine native Lib zu finden, die die aktuelle Leistung ausliest und über eine Schnittstelle an dein Javaprogramm weiter leitet.

Gehen tut (fast) alles, ist nur die Frage nach dem Aufwand zum Ertrag


----------



## Guppi (28. Mrz 2008)

Kannst du sowas schreiben?


----------



## ARadauer (28. Mrz 2008)

sollte kein problem sein


screenshot
taskmanager aufmachen
schreenshot
2. shot minus 1. shot
dann findet man leicht die obere linke ecke und dann ungefähr ausmessen wo man hinklickt
Robot klick
fertig


----------



## The_S (28. Mrz 2008)

Wenn du mich ordentlich dafür entlohnst ... :-D


----------



## ARadauer (28. Mrz 2008)

*g* mhn ich schätze ca 300- 400 €
ich machs für 350 €


----------



## Guppi (28. Mrz 2008)

wie soll ich dich denn entlohnen?


----------



## The_S (28. Mrz 2008)

Was bieteste denn für nen Stundenlohn?


----------



## Guppi (28. Mrz 2008)

lol, kein Geld^^
Ich bin 15


----------



## ARadauer (28. Mrz 2008)

hobbit, wie viel stunden schätz du für so ein tool?

ich muss seit kurzem, vor einem projekt immer meinen ungefähren aufand abschätzen. ich muss sagen, dass ist gar nicht so einfach.....


----------



## The_S (28. Mrz 2008)

Dann musstes wohl selber machen oder dir libs suchen, die dir dabei helfen


----------



## tfa (28. Mrz 2008)

ARadauer hat gesagt.:
			
		

> ich machs für 350 €


Die Screenshot-Lösung in nem halben Tag? Respekt!
Ansonsten:
www.javaworld.com/javaworld/javaqa/2002-11/01-qa-1108-cpu.html


----------



## Guppi (28. Mrz 2008)

komm, bitte...  :cry:


----------



## ARadauer (28. Mrz 2008)

@guppi: kein geld? ok, wie alt ist deine schwester ;-)


----------



## Illuvatar (28. Mrz 2008)

Unter Vista wird das aber leider nicht so funktionieren, wie ihr das vorschlagt. Da kommt man mit Strg Alt Del auf noch so ne Zwischenseite mit Optionen, wovon dann eine ist "Task-Manager Starten". Und ich glaub nicht dass man da mit Robot was machen kann. Screenshot kann man jedenfalls nicht machen


----------



## The_S (28. Mrz 2008)

@ARadauer

kommt auf die genaue Anforderung an. Realisierung über die Screenshot-Methode, Realisierung über native Libs, sind die nativen Libs schon gegeben oder muss ich die selber schreiben, auf welchen Betriebssystemen soll das laufen, ...?

Wir müssen auch den Aufwand schätzen, bei kleineren Projekten geht das ja noch recht gut, aber bei einem geschätzten Aufwand von mehr als 200 Stunden gehört schon ne gehörige Portion Glück dazu  .

Für die Screenshot-Methode und nur für Win XP im Classic-Look würde ich so 4-8 Stunden schätzen (unter Berücksichtigung, dass ich noch nie mit Bildanalyse gearbeitet habe, einem kleinen Puffer, falls was nicht so läuft, wie ich mir das gedacht habe und der Tatsache, dass ich auch was dran verdienen will  ).

[edit] woah ... viel zu langsam ^^


----------



## ARadauer (28. Mrz 2008)

man macht ja auch nicht strg alt del sondern startet über cmd einfach taskmgr, das müsste gehen oder?

@tfa:naja es muss ja nicht alles ausgelesen werden, sondern nur an der richten position ein klick gesetzt werden.



> Nur möchte ich auch noch, dass der Taskmanager sofort die Option "Leistung" anzeigt.



wie viele stunden rechnest du ungefähr für so ein tool? ich hätt so an ca 10 gedacht. ich finde schwarz sind € 30 ok. wenn mans als firma macht, is das natürlcih was anderes... € 70 würde da hinkommen, oder?


----------



## The_S (28. Mrz 2008)

Guppi hat gesagt.:
			
		

> komm, bitte...  :cry:



Gegenvorschlag (und wohl auch der üblichere Weg):

Fang selbst an, versuch dein Glück und komm mit konkreten Fragen und Problemen zu uns. Wir helfen dir dann weiter und du kommst auch zur Lösung. Dauert zwar vermutlich länger, aber 

1.) ist es kostenlos und
2.) haste dabei auch was gelernt

@ARadauer

tz ... immer diese Naturalien :lol: . Evtl. is Guppi selbst ne Sie, aber dann würdeste dich wohl weng strafbar machen :lol:


----------



## Illuvatar (28. Mrz 2008)

ARadauer hat gesagt.:
			
		

> man macht ja auch nicht strg alt del sondern startet über cmd einfach taskmgr, das müsste gehen oder?



Na sowas das geht ja. Na dann, auf ans Werk, Hobbi!


----------



## Guppi (28. Mrz 2008)

Ja, also ich habe ja vista, aber es würde auch schon reichen, wenn es auf XP läuft... 
Kann man nicht irgendwie über 

```
Runtime.getRuntime().exec("cmd.exe /c C:\\WINDOWS\\SysWOW64\\taskmgr.exe");
```
Sagen: Öffnen mit Option "Leistung"?


----------



## ARadauer (28. Mrz 2008)

> Für die Screenshot-Methode und nur für Win XP im Classic-Look würde ich so 4-8 Stunden schätzen (unter Berücksichtigung, dass ich noch nie mit Bildanalyse gearbeitet habe, einem kleinen Puffer, falls was nicht so läuft, wie ich mir das gedacht habe und der Tatsache, dass ich auch was dran verdienen will  ).


ok da war ich mit meinen 10 eh nicht so weit daneben....


----------



## The_S (28. Mrz 2008)

@IllI

und wer entlohnt mich gerecht? :lol: Außerdem ist jetzt gleich erstmal WE 

@Guppi

kA, musst schauen ob der Taskmanager übergabeparameter dieser Art unterstützt (evtl. mal googeln). Ich vermute aber eher weniger


----------



## ARadauer (28. Mrz 2008)

```
Runtime.getRuntime().exec("cmd.exe /c taskmgr.exe");
```
reicht auch



> Sagen: Öffnen mit Option "Leistung"?


hab schon gesucht, finde aber nichts. taskmgr, nimmt anscheinend keine parameter


----------



## MiDniGG (28. Mrz 2008)

taskmgr

statt

C:\\WINDOWS\\SysWOW64\\taskmgr.exe

EDIT: Ich gebs auf Ihr schreibt alle zu schnell ^^


----------



## Guppi (28. Mrz 2008)

wonach soll ich denn bei google suchen?


----------



## MiDniGG (28. Mrz 2008)

nach übergabe parametern


----------



## The_S (28. Mrz 2008)

@Guppi



			
				ARadauer hat gesagt.:
			
		

> hab schon gesucht, finde aber nichts. taskmgr, nimmt anscheinend keine parameter



kannst scheinbar knicken. Aber was spricht gegen meinen Vorschlag die Screenshot-Methode in Eigenregie + Hilfe vom Forum zu erledigen?


----------



## MiDniGG (28. Mrz 2008)

also eine Lösung wäre den Taskmanager beim Systemstart zu öffnen "Leistung" einstellen und solang du nix anderes mehr drückst bleibt es ja auf leistung (Auch wenn den manager schließt...)


----------



## Guppi (28. Mrz 2008)

Bei Google finde ich nichts...


----------



## tfa (28. Mrz 2008)

ARadauer hat gesagt.:
			
		

> wie viele stunden rechnest du ungefähr für so ein tool? ich hätt so an ca 10 gedacht. ich finde schwarz sind € 30 ok. wenn mans als firma macht, is das natürlcih was anderes... € 70 würde da hinkommen, oder?


Also ich würd ne Woche schätzen, Minimum. Erstens weil ich auch noch nie mit Robot und Bildanalyse usw. gearbeitet habe. Und zweitens  darf man nicht nur die Zeit sehen, die man braucht, um das einzutippen. Die Funktion muss auch getestet und dokumentiert werden (also Testfälle definieren bzw. implementieren, Benutzerhandbuch aktualisieren usw); Bugfixing (wenn was schief geht) müsste man schätzen- Bei mir kommt dann noch ein Verwaltungsaufwand dazu, Stichwort Change-Management. 
Aber ich denke, in nem Schülerprojekt braucht man das alles nicht


----------



## ARadauer (28. Mrz 2008)

ok guppi,
also wie schon gesagt, 
du machst einen screenshot
öffnest den taskmgr
machst wieder einne screenshot und subtrahierst das eine bild vom ersten
dann suchst den ersten Pixel, der nicht schwarz ist (oder weiß, keine ahnung, was da raus kommt)
und klickst ungefähr 100 px weiter rechts und 50 px drunter hin, musst halt vohrer genau ausmessen.

http://java.sun.com/j2se/1.5.0/docs/api/
da geht los

also taskmgr starten kannst du schon

wie machen wir nun einen screenshot? createScreenCapture der Klasse Robot ist dein Freund.

dann schaust du dir noch BufferedImage an um die Bilder zu subtrahieren und klicken kannst auch mit Robot.....

is sicher ein lustiges und lehreiches Projekt...


----------



## tfa (28. Mrz 2008)

Guppi, wenn dir die aktuelle CPU-Auslastung reicht, schau dir diesen Link an:
www.javaworld.com/javaworld/javaqa/2002-11/01-qa-1108-cpu.html
Wir haben das vor einiger Zeit in unsere Anwendung angebaut, als kleinen Balken in der Statusleiste, der die Auslastung mit Prozentwert anzeigt.


----------



## Guppi (28. Mrz 2008)

ich bin Anfänger


----------



## MiDniGG (28. Mrz 2008)

Hm. Aber so gehts nur auf einem rechner, oder?! Denn wenn du jetzt ne andere Auflösung hast verschiebt sich ja schon alles, oder?!
(Will ned meckern. Interessiert mich nur!)


----------



## MiDniGG (28. Mrz 2008)

Ja du bist anfänger... Und??? Irgendwann musst ja mal was gscheides machen ;-P

@tfa: den link hatten wir doch schon, oder?! Aber ich glaub des schau ich mir ma an ^^


----------



## ARadauer (28. Mrz 2008)

> Denn wenn du jetzt ne andere Auflösung hast verschiebt sich ja schon alles, oder?!


man könnte aufgrund, der größe des screenshot, die offset koordinaten des klicks anpassen.....


----------



## Guppi (28. Mrz 2008)

Also, das ganze geht auch einfacher ;-)
Man kann auch einfach das hier machen:

```
Runtime.getRuntime().exec("cmd.exe /c perfmon.exe");
```
Dann brauch man nicht so lange programmieren


----------



## MiDniGG (28. Mrz 2008)

hm. klingt logisch 

Mach ma bitte en Beispiel... 

is des dann

if(getWidth == 1600 && getHeight == 1200).....

oder irgendwie so potentiell steigern? (Heißt des so???)


----------



## MiDniGG (28. Mrz 2008)

:-D :-D :-D omg

(Sorry für den Beitrag... Aber soo einfach???)

Edit: Habs mir ma angeschaut... Is ja en komischer Monitor... aber wenn dir das genügt, warum ned ^^


----------



## Guppi (28. Mrz 2008)

warum komisch?^^


----------



## Guppi (28. Mrz 2008)

Jetzt mal eine andere Frage, *wie kann ich das Fenster von perfmon.exe unsichtbar machen?   *


----------



## anfänger15 (28. Mrz 2008)

du willst es anzeigen damit du es wieder unsichtbar machen kannst?

Das soll noch jemand verstehen ???:L



```
Process p = Runtime.getRuntime().exec(programm);
p.destroy();
```


----------



## ARadauer (28. Mrz 2008)

unsichtbar machen? frag david copperfield......


----------



## Guppi (28. Mrz 2008)

aber wenn ich das jetzt mit destroy mache, wird das Fenster wieder geschlossen, oder? Also dass soll offen, aber unsichtbar sein...


----------



## Sonic (28. Mrz 2008)

david copperfield muss diesen Beitrag verschwinden lassen. 

Bitte überlesen.


----------



## anfänger15 (29. Mrz 2008)

Guppi hat gesagt.:
			
		

> aber wenn ich das jetzt mit destroy mache, wird das Fenster wieder geschlossen, oder? Also dass soll offen, aber unsichtbar sein...



Ich versteh nicht was du damit vorhast. Wenn du uns einen vernünftigen Grund für so einen "Unsinn" gibst können wir dir bestimmt helfen, aber so??

Ich fas das mal zusammen:

du willst Fenster öffnen, damit es dann unsichtbar angezeigt wird. Eigentlich doch logisch oder ???:L 

Die Lösung des Problems: öffne kein fenster, dann wird es auch nicht angezeigt und ist unsichtbar.


----------



## ARadauer (29. Mrz 2008)

ich mein er meint, dass er das fenter minimieren will


----------



## SebiB90 (29. Mrz 2008)

ARadauer hat gesagt.:
			
		

> ich mein er meint, dass er das fenter minimieren will


ich glaub er will die leistung auslesen ohne das der benutzer den taskmanager bzw das fenster von perfmon.exe sieht.
also auch net minimiert.


----------



## Guppi (29. Mrz 2008)

Hi, also es ist alles geklärt  Ich wollte einfach wissen, wie ich 1. Die Leistung von meinem Rechner sehen kann (perfmon.exe) und 2. Wie ich ein Fenster unsichtbar machen kann. (per destroy...) Also es ist alles geklärt!
Dankeschön für eure Antworten!


----------



## Tobias (29. Mrz 2008)

Du kannst per destroy() keine Fenster "unsichtbar" machen. Das geht schlichtweg nicht.

mpG
Tobias


----------



## Guppi (30. Mrz 2008)

warum, ging doch super


----------



## anfänger15 (30. Mrz 2008)

mit destroy() beendest du das Programm, da wird nichts unsichtbar.


----------



## Guppi (30. Mrz 2008)

wie kann ich dass denn unsichtbar machen? Ohne es zu beenden...


----------



## Tobias (30. Mrz 2008)

> Das geht schlichtweg nicht.


----------



## Guppi (30. Mrz 2008)

Er meinte, dass es per destroy() nicht geht...


----------



## Tobias (30. Mrz 2008)

Wenn ich mich selbst zitiere, weiß ich - glaube ich - besser was *ich* meinte als du. Auch wenn das Ursprungsposting mißverständlich ausgedrückt war.

mpG
Tobias


----------



## Guppi (30. Mrz 2008)

ganz ruhig  :wink: 1. habe ich nicht gesehen, dass du das vorher auch geschrieben hast und 2. konnte man das sehr gut falsch verstehen, was du als erstes geschrieben hast!


----------



## The_S (31. Mrz 2008)

tfa hat gesagt.:
			
		

> Aber ich denke, in nem Schülerprojekt braucht man das alles nicht



Richtig, man will ja konkurenzfähig sein 

@all

ihr seid lustig


----------

