![]() |
Priorität einer .exe Datei ändern
Hier ist mein eigendliches Problem:
Ich möchte ein Programm bauen, dass mir im Hintergrund die Priorität eines neu startenden Programmes ändert. Anhand einer Liste, die der Nutzer von Hand erstellt (z.b. in dem er das Programm anklickt, dass später die Priorität geändert kriegen soll) soll automatisch wenn ein Prozess aus der exe gestartet wird die Priorität auf einen voreingestellten Wert gesetzt werden. Ob das Programm pollt und schaut ob ein neues Programm da ist oder ob es durch irgend eine Art Hook erkennt wenn was neues gestartet wird, ist mir dabei egal. Es ist nicht zeitkritisch. Was ich wissen möchte: 1.) Wie ermittele ich den exe Namen des Programms, wenn ich es zb anklicke. 2.) Wie ermittle ich (zb Hook) ob ein Programm gestartet wird / wurde 3.) Wie erkenne ich für einen Prozess ob es der passende zu meiner exe ist 4.) Wie ändere ich die Priorität des Prozesses Aufgabe 4 habe ich teilweise aus den anderen Posts verstanden. Bei dem Rest hakt es allerdings noch. Ich würde mich sehr über jede Art von Hilfe freuen. Dank im Vorraus Christian |
Re: Priorität einer .exe Datei ändern
Zitat:
![]() ![]() ![]() Zitat:
![]() Zitat:
Zitat:
![]() ![]() ![]() Aber warum willst du die Priorität ändern? Ich würde nur in wohlbegründeten Ausnahmefällen in das Scheduling von Windows eingreifen. |
Re: Priorität einer .exe Datei ändern
Meine Probleme sind die folgenden:
1.) Wenn ich Fehrnshene mag (mein Fehrnseher ist defekt) beendet sich VLC wenn ich rechenintensive Programme starte. Zb Outlook und teilweise andere Office Programme. Selbiges gilt für's Brennen und Delphi. Ich möchte bestimmte Programme direkt beim Starten mit anderen Prioritäten versehen. Welche das im einzelnen sind, weiss ich aus 12 Jahre langer Erfahrung recht gut :-) Aber danke für den Hinweis - normalerweise lasse ich Windows freie Hand. 2.) Ich biete Windows Support bei Privatkunden an, und erlebe in den letzten Jahren enorme Mehrarbeit durch Viren/Trojaner .... Das Programm soll ausser der Priorität auch Anwendungen killen können. Vermutlich das was AV Software auch macht. Nur dummerweise kriegt einige AV das nicht hin. Desweiteren wird es dann ein Toolkit dass auch Autostart Einträge und Dienst änderungen überwachen soll. Soweit zur Idee :-) Danke für die Hilfe, ich schaue mal ob ich das soweit hinkriege. Christian |
Re: Priorität einer .exe Datei ändern
Seit wann ist Outlook und Office rechenintensiv? Ich bin mir sicher du suchst den Fehler an der falschen Stelle. Desweotern würde es wesentlich mehr Sinn machen die Ursachen zu beheben, anstatt an den Symptomen rumzudoktern.
|
Re: Priorität einer .exe Datei ändern
Zu Problem 1 habe ich noch eine Frage:
Dein Source zeigt ja wie man eine Process Liste erstellt, aber wie erhalte ich die ProcessID / Handle des Fensters, dass ich anklicke ? Ich erinnere mich an eine Routine HandleUnderMouse() ... oder so ähnlich. Das war die eigendliche Frage. Sprich ich sage meinem Programm, "Nimm das Handle vom nächsten Fenster dass ich anklicke" Danke nochmal |
Re: Priorität einer .exe Datei ändern
![]() ![]() |
Re: Priorität einer .exe Datei ändern
Zu Deiner Antwort:
Ich habe lange Test gemacht mit diversen Programmen. Bei bestimmten fällt VLC immer aus. Outlook lädt beim starten viel von der Platte, die CPU geht dabei auf 100% Last. Die User Zeit liegt dabei bei etwa 99%. Word, bzw Excel scheinen dieses Verhalten nur gelegentlich zu zeigen. Während der Arbeit mit Word oder Excel habe ich die Probleme nicht. Wenn Outlook Mails abruft kommt das Problem wieder zum tragen. Da ich auf die Konstellation JackTheGRabber und VideoLanClient angewiesen bin, um gelegendlich Fehrn zu sehen, oder etwas aufzunehmen, möchte ich nicht dass dann jedesmal die Netzverbindung zwischen der DBOX und JTG als Streamingserver zusammen bricht. Wenn ich die Priorität von Outlook per Windows TaskManager auf niedriger als Normal setze, reicht es schon, keine Abbrüche mehr. Nach vielen Wiederholungen ergibt sich immer das selbe. Ein weiteres Programm, DVDLab, mit dem man aus den Dbox Streams DVD brennen kann, hat einen Programmfehler und lastet die CPU 100% aus, sobald man es startet. Das Symptom verschwindet ebenfalls sofort, wenn man die Priorität herunter setzt. Ich denke nicht, dass dieses Problem viele Menschen haben werden :-) aber ich möchte eine Lösung dafür haben. Wenn Dir noch eine andere möglichkeit einfällt (Neuinstallation hilft nicht, Hardware tausch auch nicht) bin ich ganz Ohr :-) Trotzdem Danke für die Hilfe. |
Re: Priorität einer .exe Datei ändern
:-) Jetzt antwrte ich immer versetzt :-)
Du hast die Frage schon beantwortet. Ich möchte halt Meinem Programm mitteilen, dass ich Outlook demnächst nur noch mit Priorität Niedrig starten mag. Also klicke ich den entsprechenden Knopf in meinem Programm, klicke auf das Fenster von Outlook und erhalte ein Handle. Dann suche ich zu dem Handle den Hauptthread ind setze dessen Priorität auf Niedrig. Das speichere ich in einer Liste. Ab jetzt überwacht der Hook (den ich hoffentlich hinkriege :-p ) wann outlook.exe wieder gestartet wird und setzte automatisch dessen Priorität auf niedrig. Das wars schon. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 Uhr. |
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