Delphi-PRAXiS
Seite 1 von 12  1 2311     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   CPU-Auslastung (https://www.delphipraxis.net/7686-cpu-auslastung.html)

Matze 19. Aug 2003 09:55


CPU-Auslastung
 
Liste der Anhänge anzeigen (Anzahl: 4)
Hi!
Ich habe ein kleines Programm geschrieben, das einem die aktuelle CPU-Auslastung anzeigt. (mithilfe dieses Forums. :wink: )
Nicht Besonderes.

Ich glaube aber, dass es nur unter Win NT/2000/XP geht, aber getestet habe ich das noch nicht.

Gruß Matze

Alexander 19. Aug 2003 10:04

Re: CPU-Auslastung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
funktioniert auch soweit ganz gut (unter XP Home getestet.).
Aber ich würde da vielleicht noch eine kleine Funktion einfügen. Und zwar sollte es vielleicht, wenn es nah genug am Bildschirmrand oder anderen Fenstern (das vielleicht nciht unbedingt...) automatisch (als Option) andocken.
Vom Design gefällt mir das kleine Tool sehr!

Aber ich habe noch eine kleine Unit (von Alexey A. Dynnikov), mit dem du es sogar unter Win 9x und ME zum Funktionieren bringen kannst. Desweiteren soll man damit auch mehrere CPU's kontrollieren können. -> Siehe Anhang.

PS: Noch ne kleine Frage: Wird die CPU-Auslastung per Timer oder Thread überprüft? es wäre besser einen thread zu nutzen, da resourcenschonender...

Matze 19. Aug 2003 10:07

Re: CPU-Auslastung
 
Hi!

Erstmal danke für's Testen.
Ich benutze keinen Timer. Deine Unit werde ich mir mal anschauen, danke auch dafür. Weißt du, wie man das macht, dass das Fenster "andockt"? Die Idee ist nämlich echt gut! :D

Gruß Matze

Stanlay Hanks 19. Aug 2003 10:14

Re: CPU-Auslastung
 
Hi! Also ich mach das immer so, mit dem Andocken.

Zuerst unter protected (musst du irgendwo über oder unter private und public schreiben) ne Message deklarieren:

Delphi-Quellcode:
procedure WMMove(var message: Tmessage);message WM_Move;
// Dann diesen Quelltext einfügen

und dann noch folgende Prozedur dazu schreiben:

Delphi-Quellcode:
procedure TForm1.WMMove(var message: Tmessage);
begin
 IF (Form1.Left > 0) AND (Form1.Left < 10) THEN
  Form1.Left := 0;
 IF (Form1.Top > 0) AND (Form1.Top < 10) THEN
  Form1.Top := 0;
 IF (Form1.Left < Screen.Width - Form1.Width) AND
    (Form1.Left > Screen.Width - Form1.Width -10) THEN
  Form1.Left := Screen.Width - Form1.Width;
 IF (Form1.Top < Screen.Height - Form1.Height) AND
    (Form1.Top > Screen.Height - Form1.Height - 30) THEN
  Form1.Top := Screen.Height - Form1.Height -30;
end;
Das mit dem -30 bei Top hab ich gemacht, weil das ding sonst unter der Taskleiste verschwindet.

Man liest sich, Stanlay :hi:

Alexander 19. Aug 2003 10:14

Re: CPU-Auslastung
 
Nicht wirklich :mrgreen:
Aber mit der API MoveWindow (siehe MSDN/PSDK) kannst du die Position ja schon mal verändern

Und dann kannst du dir ja die WM_MOVE-Message registrieren. Es sollte zumindest relativ einfahc sein, zu überprüfen, ob der Bildschirm zu ende ist oder nicht. Ob da ein fremdes Fenster ist, ist sicherlich schwieriger, da weiß ich im Moment auch nicht weiter....
Aber Bildschirmrand sollte nciht so das Problem sein, Bildschirmauflösung ermitteln und dann mit der eigenen Fensterposition vergleichen.

Matze 19. Aug 2003 10:16

Re: CPU-Auslastung
 
Danke erstmal.

@Stanlay: Ich probier deinen Vorschlag mal aus.

Gruß Matze

Alexander 19. Aug 2003 10:19

Re: CPU-Auslastung
 
Dieses -30 ist aber nciht sehr elegant, denn was ist wenn der User die Taskleiste größer oder sogar an einer anderen Stelle hat?
Ich glaube in der Code-Library steht was, über's Auslesen von Position und Größe der Taskbar drin.

Stanlay Hanks 19. Aug 2003 10:23

Re: CPU-Auslastung
 
Jaja....mach mich fertig....ich halt das ja aus. :evil:

Nö, im Ernst :mrgreen:

Ich weiß schon, dass es da Probleme geben könnte, wenn die Taskbar höher is. Aber der Vorschlag war ja nur so auf die Schnelle, weil ich den In meiner QT Sammlung gespeichert hatte. :wink:
Trotzdem hast du natürlich recht.

Man liest sich, Stanlay :hi:

Matze 19. Aug 2003 10:24

Re: CPU-Auslastung
 
Hi!

Hab Stanlay's Code mal verwendet und eine neue Version hochgeladen, da ich einen kleinen Bug entdeckt habe (zw. 60 und 100% wurde die Farbe grau, anstatt rot).

@alexander: Ich kann nichts Passendes finden, sorry.

Gruß Matze

Alexander 19. Aug 2003 10:37

Re: CPU-Auslastung
 
@Matze das sollte dir helfen:
http://www.delphipraxis.net/internal...ect.php?t=7229 und das hier sollten dir helfen:
http://www.delphipraxis.net/internal...ght=taskleiste
Damit wären die Positionsprobleme gelöst :mrgreen:

Ähm mir fällt noch was ein. Und zwar solltest du evtl. den Taskbareintrag entfernen - wäre vielleicht nicht schlecht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 Uhr.
Seite 1 von 12  1 2311     Letzte »    

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