Re: CPU-Auslastung eines Prozesses
Hallo,
mh, ich habe das Programm eigentlich nur genommen, um zu sehen, ob es geht. Nachher will ich Mechanical Desktop nehmen. Da wird sicherlich so was gemacht, dass irgendetwase im Kernel berechnet wird. Muss ich gleich mal ausprobieren. Beste Grüße Ulrich |
Re: CPU-Auslastung eines Prozesses
Hallo,
Thema hat sich erledigt. Es klappt alles. Es lag daran,d ass ich gedacht hatte, dass die Usertime angibt, wie lange das Prog läuft (ist aber nicht so). Ich dachte, allein die Kernel-zeit gibt Aufschluss über die Aktivität eines Proggs. Beste Grüße Ulrich |
Re: CPU-Auslastung eines Prozesses
Das Problem kann man auch anders angehen:
WaitForInputIdle(ProcessHandle,INFINITE); Wo man Gutes in Frage stellt, kann Besseres entstehen... |
Re: CPU-Auslastung eines Prozesses
Nein, UserTiem gibt an wie wviel zeit das Programm tatsächlich damit beschäftigt ist Programmcode auszuführen. Ein Thread bekommt ja nur zeitscheibenweise CPU Zeit zugeteilt. Und mit GetProcessTimes / GetThreadTimes bekommst du die Zeit, die ein Prozess / Thread damit verbringt tatsächlich Code auszuführen.
|
Re: CPU-Auslastung eines Prozesses
Zitat:
Kannst Du noch einmal zeigen, wie Du den Prozess erzeugst? Danke. Zitat:
|
Re: CPU-Auslastung eines Prozesses
shellexecute liefert weder ein Handle des Fensters zurück noch die ProcessID. Entweder CreateProcess oder ShellexecuteExe nehmen.
|
Re: CPU-Auslastung eines Prozesses
Hallo Choose,
da hast Du nicht genau gelesen. Ich habe die funktion ShellExecuteEx benutzt und nicht ShellExecute. Da Du so nett bist und mir geholfen hast, bekommst Du gleich noch den Code von mir:
Delphi-Quellcode:
Beste Grüße
var Info: TShellExecuteInfo;
FileName : string; begin FileName := 'c:\2\Project2.exe'; with Info do begin cbSize := SizeOf(Info); fMask := SEE_MASK_NOCLOSEPROCESS; lpVerb := 'open'; lpFile := pChar(FileName); lpParameters := nil; lpDirectory := nil; nShow := 0; hInstApp := 0; lpIDList := nil; end; { Call indows to display the properties dialog. } ShellExecuteEx(@Info); //Das Handle des Prozesses auslesen handle2 := info.hProcess; end; Ulrich |
Re: CPU-Auslastung eines Prozesses
Da war Luckie wieder ein Tick schneller. grins
Ulrich |
Re: CPU-Auslastung eines Prozesses
Ich bin immer schneller. :mrgreen:
|
Re: CPU-Auslastung eines Prozesses
Wer lesen kann, ist... und vielleicht gibt's auch mal jmd, der schneller schreiben kann als Luckie ;)
Die Antwort ShellExecuteEx hätte mir gereicht, Ulrich. Hatte mich nur gewundert, weil ich es nur mit CreateProcess/OpenProcess und eben nicht mit (dem falsch gelesenen) ShellExecute hinbekommen habe... Freut mich, dass Dein Problem nun keins mehr ist! EDIT: Sag mal, gehörtest Du zu dieser Firma mit dem auffällig untechnischen Namen, nach dem ich mich auf der EKON beim Essen erkundigt habe? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:40 Uhr. |
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