11335
Goto Top

Windows-Dienste: Priorität ändern?

Hallo!

Ich suche nun schon seit zwei Tagen alles moegliche ab, doch es scheint, dass entweder ich den Wald vor lauter Baeumen nicht sehe oder dass mein Problem - schlicht - unloesbar ist.

Meine Frage ist sehr simpel:

Wie kann man die Prioritaet eines "Dienstes" (Service) aendern?


Ich kann eure Antworten kaum erwarten!


Danke & schoene Gruesse,

Finger

Content-Key: 21854

Url: https://administrator.de/contentid/21854

Printed on: April 19, 2024 at 15:04 o'clock

Mitglied: 10545
10545 Dec 18, 2005 at 06:54:35 (UTC)
Goto Top
Moin,

mit CTRG+SHIFT+ESC den Taskmanager aufrufen, Rechtsklick auf den Dienst, Priorität einstellen. face-wink

Gruß, Rene
Member: Dogbert
Dogbert Dec 18, 2005 at 09:36:56 (UTC)
Goto Top
Servus,

falls du die Priorität dauerhaft (also auch nach Neustart) ändern willst, dann wird's ein wenig schwieriger, weil manche Dienste beim Start ihre Priorität selbst einstellen.

Da kenne ich für's DOS jetzt keinen Befehl. Es gibt aber im .net Framework eine Priority-Klasse, mit deren Hilfe man sich einen Parser schreiben kann.

Falls es schwierigkeiten mit Zugriffsrechten gibt, muss man unter:
Start -> Einstellungen -> Systemsteuerung
Hier die Verwaltung aufrufen.
Dadrin dann Dienste aufrufen
Unter Eigenschaften im Karteireiter Anmelden einen entsprechendes Konto angeben.

Ich weiß, das ist jetzt keine Lösung, aber zumendest ein Ansatz.

Gruzß
Dogbert
Mitglied: 11335
11335 Dec 18, 2005 at 11:54:52 (UTC)
Goto Top
Falls es schwierigkeiten mit Zugriffsrechten
gibt, muss man unter:
Start -> Einstellungen ->
Systemsteuerung
Hier die Verwaltung aufrufen.
Dadrin dann Dienste aufrufen
Unter Eigenschaften im Karteireiter Anmelden
einen entsprechendes Konto angeben.

Das ist ein sehr guter Ansatz.. allerdings ist mir diese 'Zugriffsproblematik' auch ein wenig schleierhaft - wenn ein Dienst vom Benutzer 'SYSTEM' gestartet wird, kann ich seine Prioritaet durch den Taskmanager nicht aendern.. nehme ich jedoch ein anderes Tool (z.B. ProcViewer), dann ist sowas Problemlos moeglich, selbst wenn ich den Dienst nicht 'owne'.

In Sachen 'Automatisieren', 'Manipulieren', 'Spezialfaelle-Konfigurieren' befindet sich Windows schon seit Jahren in der Steinzeit - mein Problem ist wieder mal ein glaenzender Beweis dafuer.. face-sad
Member: Dogbert
Dogbert Dec 18, 2005 at 20:29:28 (UTC)
Goto Top
Nochmals Servus,

wenn's um die Zugriffsrechte geht, kann evtl. ein Startskript helfen.
1. Den Dienst in der Verwaltung nicht automatisch starten lassen
2. Über ein Skript, das beim PC-Start ausgeführt wird den Dienst starten ('net start ...')
3. Wenn's unter einem gewissen Account laufen soll, 'runas' verwenden.
Runas hat jedoch den Nachteil, das User und Passwort mit im Skript stehen müssen, falls man diese nicht jedesmal eingeben will. In diesem Fall gibt's noch ein Tool, das skripte verschlüsselt ausführen kann. Mir ist leider der Name entfallen -> googeln, oder man schreibt ein kleines Progrämmchen, in dem diese Sachen hinterlegt sind.

Procviewer kannte ich bisher nicht, ist aber open source (zumindest das, das ich gefunden habe)

http://sourceforge.net/projects/procviewer

und kann somit leicht auf die eigenen Bedürfnisse angepasst werden. Da hat sich ja die Lösung von selbst ergeben.
Der Code ist als Plattformunabhängig gekennzeichnet (falls er sich nicht compilieren lässt, lieber mal zu cygwin schielen)

Gruß
Dogbert
Member: Dogbert
Dogbert Dec 18, 2005 at 21:33:07 (UTC)
Goto Top
hmmm, hab mir grad mal selber den link von vorhin angeschaut, war wohl doch nicht so das Gelbe vom Ei.
Falls wir irgendwie privat kommunizieren können - ich hab grad 'n Kommandozeilenprog geschrieben, das machen sollte was du willst.

Gruß
Dogbert
Member: Dogbert
Dogbert Dec 18, 2005 at 22:37:11 (UTC)
Goto Top
So, hab's mal da upgeloadet, wo der erste erfolgreiche Google-Link war.

Schau mal ob es das ist, was dir vorschwebte.

Process: Prozessname (ohne .exe)
Für die Parameterauswahl, einfach mal ohne alles aufrufen, im Hexeditor nachschaun oder mir glauben.

Usage: Setpriority process Priority
Values for Priority: r=realtime, h=high, a=above normal, n=Normal, b=below norma, i=idle

Wäre dann für Rückmeldung dankbar. (Hab grad 2 Schreibfehler in der Usage entdeckt, die dürften aber nicht ins Gewicht fallen).

Gruß
Dogbert
Mitglied: 11335
11335 Dec 19, 2005 at 07:36:57 (UTC)
Goto Top
Hi Dogbert!

Vielen Dank fuer deine Bemuehungen - ich habe das Tool gerade getestet, doch siehe selbst:

Falls ich beim Debuggen helfen kann, nur sagen..

Danke nochmals,
Finger

EDIT: Windows XP SP2 + alle aktuellen Patches.
Member: Dogbert
Dogbert Dec 19, 2005 at 09:21:49 (UTC)
Goto Top
Moin,

die Fehlermeldung ist höchst seltsam. Es dürfte doch höchstens irgendeine Ausgabe in der Kommandozeile stehen.
Hast du das Programm über Kommandozeile gestartet?

Ich hab das Dingens im VB.net geschrieben. Hast du .net Framework drauf? Getestet mit WinXP und Win2k ab .net Framework 1.1.

Ich kann dir die paar Zeilen Quellcode reinposten, falls du's selber compilieren kannst.

Gruß
Dogbert
Mitglied: 11335
11335 Dec 19, 2005 at 09:38:01 (UTC)
Goto Top
Ach so - .NET war das Problem..

Hab jetzt .NET installiert und das Tool funktioniert tadellos..

..ich kann so ziemlich alle Prios aendern..

..danke herzlichst! face-smile
Member: Dogbert
Dogbert Dec 19, 2005 at 09:39:37 (UTC)
Goto Top
Ich freu mich immer wenn ich helfen kann.
Bis zum nächstenmal.

Dogbert
Member: TimL
TimL Nov 02, 2006 at 21:45:35 (UTC)
Goto Top
Hi!

@Dogbert
Kannst Du Dein Proggie nochmal irgendwo hochladen? Das wäre nett von Dir. Wenn ich richtig verstanden habe lässt sich damit die Priorität eines Dienstes doch dauerhaft ändern, oder? Also behält der Dienst auch nach einem Neustart seine neue Priorität?
Member: Dogbert
Dogbert Nov 02, 2006 at 22:23:18 (UTC)
Goto Top
Servus TimL,

holla, nach fast einem Jahr schaut wieder mal wer vorbei ...

Vorweg:
Manche Dienste könnten mit bestimmter Prio gestartet werden, wäre bestimmt eine elegante Lösung aber da bin ich in den Tiefen der Registry leider nicht fündig geworden. Andere Dienste stellen sich die Prio beim Start selbst ein - um den dann mit anderer Priorität zu starten müsste man ihn patchen. Das wird hier nicht gemacht (wäre auch nicht legal).

Mein Progrämmchen ist diesbezüglich ein Workaround, d.h. es nimmt sich den laufenden Prozess und stellt dessen Priorität entprechend um - das gilt für jede angegebene .exe, nicht nur für Dienste.
Wenn dies auch einen Windows-Neustart überleben soll musst du aber ein Skript für den Systemstart erstellen - geht mit der mmc.

Gruß
Dogbert
Member: TimL
TimL Nov 02, 2006 at 22:41:49 (UTC)
Goto Top
Danke für die prompte Antwort! Hmmm, mit der mmc hab ich mich noch nie beschäftigt. Aber ich werde mich da schon irgendwie durchwurschteln.
Und wie kann ich sicherstellen, daß das Script erst ausgeführt wird wenn der Prozess nach dem Neustart schon läuft?
Member: Dogbert
Dogbert Nov 02, 2006 at 23:08:51 (UTC)
Goto Top
Hab kurz mal Nachgeschaut, im Schnelldurchgang geht's folgendermassen:
Start -> ausführen -> mmc <RETURN>
Im mmc-Fenster: Datei -> Snap-In hinzufügen/entfernen
Gruppenrichtlinienobjekt-Editor auswählen -> Hinzufügen -> Fertigstellen -> Schließen -> OK
Im neuen Objekt -> Computerkonfiguration -> Windows-Einstellungen -> Skripts ... anklicken.
Doppelklick auf start, dann die batchdatei auswählen, die beim systemdstart ausgeführt werden soll.

Bei diesem Vorgang wird die Datei nach
C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Startup
kopiert.
Alle in diesem Ordner befindlichen (ausführbare) Dateien werden dann beim Systemstart ausgeführt.

Im allgemeinen ist's aber immer gut ein wenig an der Oberfläche zu kratzen - evtl. gibts auch hier im Forum irgendwo ein Tutorial.

Gruß & viel Erfolg
Dogbert
Member: TimL
TimL Nov 02, 2006 at 23:10:11 (UTC)
Goto Top
Danke!!!
Member: Dogbert
Dogbert Nov 02, 2006 at 23:19:22 (UTC)
Goto Top
Keine Ursache.
Der zweite Teil der Frage ist schon ein wenig kniffliger.
Mit Try & Error kann man in die Batch vorn 'Pause n' einbauen - iss aber nicht schön.
Falls ich am WE Zeit hab, kann ich die Funktion erweitern, damit man noch einen Parameter für Timeout angegeben werden kann.

Heut' bin ich aber schon ein wenig Bettreif und dann bis Samstag Nachmittag unterwegs. Update kommt also hoffentlich so um Sonntag.

Gut's Nächtle
Dogbert
Member: TimL
TimL Nov 04, 2006 at 18:57:19 (UTC)
Goto Top
Hi,

ich habe beim Durchforsten des Netzes ein vbs-Script gefunden was die Priorität auch ändern kann. Habe schon einige Kleinigkeiten geändert, aber auch hier fehlt mir noch was. Hier mal beispielhaft am Prozess notepad.exe.

1. Wenn notepad schon vor dem Prozess läuft, dann wird die Priorität nach dem starten der .vbs datei nicht hochgesetzt. Ich benötige hier zuerst eine Abfrage, ob der Prozess notepad.exe schon läuft oder nicht, und dementsprechend soll entweder wie es das script jetzt schon tut beim start des notepads die priorität ändern, oder dann halt mit der zusatzfunktion bei schon gestartetem notepad die priorität sofort ändern, ohne erst auf das starten von notepad zu warten.

2. Genau so muss das script irgendwie gesagt bekommen, daß es selber schon läuft. Denn wenn man es hintereinander 3x startet (doppelklickt), dann bekommt man auch 3x die meldung dass die priorität hochgestzt wurde! face-wink

' Prio.vbs  

Const IDLE = 64, BELOW_NORMAL = 16384, NORMAL = 32
Const ABOVE_NORMAL = 32768, HIGH = 128   ', REALTIME = 256  
Const SEC = 1   ' Reaktionszeit in Sekunden nach Erzeugung der Instanz  

strX = "notepad.exe"  
strCompi = "."  
Set SINK = WScript.CreateObject("WbemScripting.SWbemSink","SINK_")  
Set wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _  
                        strCompi & "\root\cimv2")  
wmi.ExecNotificationQueryAsync SINK, _
            "SELECT * FROM __InstanceCreationEvent WITHIN " & SEC & _  
            " WHERE TargetInstance ISA 'Win32_Process'" & _  
            " AND TargetInstance.Name = '" & strX & "'"  
Do
   WScript.Sleep 10000
Loop

Sub SINK_OnObjectReady(wmiEvt, wmiAsyCont)
    wmiEvt.TargetInstance.SetPriority(HIGH)
    WScript.Echo "Priorität von " & wmiEvt.TargetInstance.Name & _  
                    " wurde auf HOCH gesetzt."  
End Sub
Member: Dogbert
Dogbert Nov 06, 2006 at 12:08:06 (UTC)
Goto Top
Servus TimL,

ich weiss jetzt nicht genau was du vorhast, aber das Script hat meiner Meinung nach ein paar Eigenschaften, die am Thema vorbeigehn.
- wie schon erkannt funktioniert es nicht, wenn der Prozess schon läuft - das könnte aber evtl. mit einem Aufruf der SINK-Sub vor der Create-Überwachung behandelt werden.
- Es beendet sich nicht nach getaner Arbeit, was eigentlich bei einem normalen Dienst (der nur einmal gestartet wird) wünschenswert wäre.

Im Scripting hab ich leider nur rudimentäre Kenntnisse, so dass ich auch nicht sagen kann was passiert wenn's ein Systemprozess ist -> die Zugriffsrechteproblematik war auch Teil des ursprünglichen Problems.

Ich werd' auf jeden Fall mal das Progrämmchen ergänzen und heute Abned hochladen. Es bleibt dann dir überlassen was für deinen Fall das bessere ist. Hoffe es ergibt sich dann so oder so eine brauchbare Lösung.

Gruß
Dogbert
Member: TimL
TimL Nov 06, 2006 at 13:10:34 (UTC)
Goto Top
Hallo Dogbert,

also erst noch einmal vielen Dank daß Du überhaupt Lust hast mir zu helfen. Ich beschreibe mal kurz was ich genau vorhabe. Ich lasse 3 exe-Dateien unter Windows als Dienst laufen(keine Systemprozesse). Und die sollen halt immer mit der Priorität "high" laufen. Der Rechner ist ein Server und bootet automatisch jede Woche einmal neu. Nach dem Neustart möchte ich halt, daß die drei Prozesse sobald sie gestartet werden wieder sofort auf "high" gesetzt werden. Am besten halt mit einer Überprüfung ob die Prozesse schon laufen oder nicht.
Es kommt öfter vor, daß ich zwischendurch die drei Prozesse mal stoppen muss, deshalb wäre es natürlich "einfacher", wenn das Programm einen Restart der Prozesse selbst erkennen würde und die Priorität dann wieder verändert.

Grüße,
Tim
Member: Dogbert
Dogbert Nov 06, 2006 at 13:52:20 (UTC)
Goto Top
In dem Fall wär das Script eh schon fast das Richtige.
Wenn die Vorabüberprüfung funktioniert, du das Dingens 3 mal kopierst und mit verschiedenen Prozessnamen versiehst wär's eh schon die Lösung.

Ich werd' aber rein spasseshalber auch noch bei mir a bisserl rumwerkeln.

Gruß
Dogbert
Member: TimL
TimL Nov 06, 2006 at 13:56:45 (UTC)
Goto Top
Das Script ist wirklich bis auf die beiden Sachen ganz ok. Ich habe nur genau 0 Erfahrung mit solchen Scripts. Ich habe aber auch mal einen Kollegen darauf angesetzt.
Member: TimL
TimL Nov 06, 2006 at 22:49:12 (UTC)
Goto Top
Hi,

ich habe mal das Internet durchforstet und trotz null Programmierkenntnissen das Script soweit geändert, daß es am Anfang schon die Priorität auf hoch setzt wenn der Prozess schon läuft. Ich weiß zwar nicht ob das Script 100%ig richtig ist, aber es funktioniert erstmal soweit.
Wofür ist eigentlich das
WScript.Sleep 10000
nötig?
Wenn meine 3 Prozesse notepad1.exe, notepad2.exe und notepad3. exe heißen würden, kann man das nicht irgendwie mit einer Wildcard bei strX = "notepad.exe" lösen, sodaß alle 3 Prozesse vom Script behandelt werden?

' Priority.vbs  

Const IDLE = 64, BELOW_NORMAL = 16384, NORMAL = 32
Const ABOVE_NORMAL = 32768, HIGH = 128   ', REALTIME = 256  
Const SEC = 1   ' Reaktionszeit in Sekunden nach Erzeugung der Instanz  

strX = "notepad.exe"  
strComputer = "."  


Set SINK = WScript.CreateObject("WbemScripting.SWbemSink","SINK_")  
Set wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _  
                        strComputer & "\root\cimv2")  
Set colProcesses = wmi.ExecQuery _
    ("Select * from Win32_Process Where Name = '" & strX & "'")  
    
For Each objProcess in colProcesses
    objProcess.SetPriority(HIGH) 
Next

wmi.ExecNotificationQueryAsync SINK, _
            "SELECT * FROM __InstanceCreationEvent WITHIN " & SEC & _  
            " WHERE TargetInstance ISA 'Win32_Process'" & _  
            " AND TargetInstance.Name = '" & strX & "'"  
Do
   WScript.Sleep 10000
Loop

Sub SINK_OnObjectReady(wmiEvt, wmiAsyCont)
    wmiEvt.TargetInstance.SetPriority(HIGH)
End Sub
Member: Dogbert
Dogbert Nov 08, 2006 at 00:20:52 (UTC)
Goto Top
Servus Tim,

meine scriptingkenntnisse sind auch nur rudimentär - intuitiv würde ich sagen da wird 10000ms gewartet - aber auf was? Da iss ja sonst nix drinn.

Bin jetzt mal vorläufig fertig mit meinem Projekt. Hab da mal alles einfliessen lassen was du mir als Input gegeben hast (mehrere Prozesse zu überwachen; kein doppelter Aufruf ohne mosern möglich; Überwachungszeit von 1s bis unendlich; optionale Logausgabe für Fehler und aktivität). Leider ließ sich das Ganze nicht mehr als reine Konsolenanwendung implementieren, da ich keinen Weg gefunden hab, aus dem Aufruf rauszupringen nachdem der eigentliche Überwachungprozess gestartet wurde - ist inner batch nicht wirklich von Vorteil. Der Aufruf erfolgt aber nach wie vor über Kommandozeile, nur im Fehlerfall poppt halt eine Messagebox auf, weil ja der Bezug zur Konsole verlorengeht.

Heraus kam dann das:
Usage: Setpriority [[p=<process>] ... ] q=<Priority> [t=<timeout>] [f:<filename>]
 <Priority>: r=realtime, h=high, a=above normal, n=Normal, b=below normal, i=idle
 <timeout>: number of seconds for serching the processes (<0: infinite)
 <process>: name of the process (with or without extension)
 Example: Setpriority.exe q=process1 q=process2.exe q=i t=0 f=c:\errors.log

War mal wieder erfrischend eine kleine und überschaubare Applikation zu schreiben. Es ist aber auch ein wenig enttäuschend wie verschwenderisch die .net Umgebung mit Arbeitsspeicher umgeht.
Wenn meine großen Apps mal so um die 100MB brauchen versteh' ich das ja noch aber so ein kleines Ding mit nicht mal 200 Zeilen will knapp 20MB Arbeitsspeicher? Hätte vielleicht doch bei ANSI C bleiben sollen face-smile

Gruß
Dogbert
Member: TimL
TimL Nov 08, 2006 at 10:49:27 (UTC)
Goto Top
Hallo Dogbert,

toll das Du das Programmieren so erfrischend findest! Für mich sind das Böhmische Dörfer... face-wink Auf jeden Fall kann Dein Programm jedenfalls jetzt genau das was ich brauche!
Ab und zu kommt es vor, daß die folgende Fehlermeldung nach dem restart des überwachten Prozesses kommt und Setpriority wird beendet:

08.11.2006 11:33:53	notepad was set to High
08.11.2006 11:33:56	notepad was set to High
08.11.2006 11:34:03	notepad was set to High
08.11.2006 11:34:13	notepad was set to High
08.11.2006 11:34:36	notepad was set to High
08.11.2006 11:34:38	Cannot process request because the process (264) has exited.	( Dogbert.Setpriority.SetPriority in SetPriority.dll)

Das ist bei manchen Prozessen bei jedem restart der Fall, bei notepad recht selten. Woran kann das liegen? Vielleicht muss man nach dem Start des Prozesses noch ne Sekunde warten bevor dein Programm die Priorität verändert? Ist nur eine Vermutung, da man diese Zeit in dem Script einstellen konnte.
Member: Dogbert
Dogbert Nov 08, 2006 at 22:31:11 (UTC)
Goto Top
Servus Tim,

hab's gefunden. Der Fehler ergab sich aus dem Ablauf: Ich hole mir die aktuelle Liste aller laufenden Prozesse und vergleiche sie dann mit allen angegebenen. Um den Prozessor nicht zu belasten ist ein kleiner Timeout drin. Wird während dieser Prozedur eine der zu überwachenden Anwendungen beendet kommt die Exception bei Zugriff auf den Prozess in diesem Punkt nicht mehr aktuellen Liste.

Fehler wird jetzt behandelt (also ignoriert).

Hoffe du nimmst es mir nicht krumm, dass ich nicht alle Sonderfälle durchexerziert habe und du sozusagen am Debugprozess teilnehmen darfst - Ist aber meiner Meinung nach bei Freeware nicht unfair. In diesem Fall ist ein Logfile halt Gold wert face-smile
Falls nochmal was ist, meld' dich einfach.

Gruß
Dogbert
Member: TimL
TimL Nov 08, 2006 at 23:52:05 (UTC)
Goto Top
Hi Dogbert,

das Programm funktioniert jetzt einwandfrei! Vielen Dank!!! face-smile
Wieso sollte ich Dir das krumm nehmen? Ich wollte ja was und Du hast Dich erbarmt das zu proggen, also bin ich froh dass Du meine Hartnäckigkeit ertragen hast!
Ein klitzekleiner Schönheitsfehler ist mir noch aufgefallen:
Deine Erklärung

Example:
Setpriority.exe q=process1 q=process2.exe q=i t=0 f=c:\errors.log

muss heißen

Example:
Setpriority.exe p=process1 p=process2.exe q=i t=0 f=c:\errors.log

Da hast Du zweimal das p mit dem q verwechselt, sowohl im Programm (zu sehen beim Ausführen ohne Parameter) als auch in deinem obigen Posting!

Also vielen Dank nochmal! Hast mir sehr geholfen!

Tim
Member: semabra
semabra Jan 16, 2007 at 16:21:09 (UTC)
Goto Top
So Hallo!
Nachdem ich jetzt zum wiederholten male festgestellt habe wie Toll diese Seite ist ;) habe ich mich endlich angemeldet.
Ich sitze leider hier in der FH und ich glaube hier ist kein .net-gedöns installiert. Die letzte SetPriority.exe bringt bei mir die Fehlermeldung "Die Anwendung konnte nicht initialisiert werden"
Die Datei hieß nach dem Download Setpriority.227 ich hab sie dann in SetPriority.227.exe umbenannt ist das richtig? wo kommt die 227 her?

Grüße
Sorry für die blöden Fragen - aber Dank für die Hilfe, im Vorraus

Sebastian Braun
Member: Dogbert
Dogbert Jan 16, 2007 at 16:35:26 (UTC)
Goto Top
Servus Semabra,

hm, weiss auch nicht warum die Endung verändert wird, liegt anscheinend an diesem Webspace-Provider. Hab grad mal testweise runtergeladen (bei mir war's dann .196) und in .exe umgetauft, konnte aber ohne weiteres starten.
Ich bin mir nicht mehr ganz sicher ob ich eine Namensprüfung mache. Schmeiss mal die .227 aus dem Dateinamen raus und probiers nochmal. Wenn's dann nicht geht, liegt's wirklich am .net.
Ob's installiert ist kann man unter Start->Einstellungen->Systemsteuerung->Software nachschaun.

Gruß
Dogbert
Member: semabra
semabra Jan 16, 2007 at 16:48:55 (UTC)
Goto Top
Auf dem FH-PC find ich sowas schonmal nicht...
Ich habs aber noch mit mein vServer probiert, der will aber auch nicht .. aber der will auch grad das Framework updaten und schlägt auch immer fehl .. als der hat mit dem .net-gedöns wohl generell n Problem z.Zt. Hab ja noch 6 ander Windows-Systeme ;)

Ich werd morgen+ daran noch versuchen rumzubasteln, vielen Dank erstmal.
Member: Oliver72
Oliver72 Jan 08, 2010 at 09:55:46 (UTC)
Goto Top
Zitat von @Dogbert:
Servus Tim,

hab's gefunden. Der Fehler ergab sich aus dem Ablauf: Ich hole mir die aktuelle Liste aller laufenden Prozesse und vergleiche sie
dann mit allen angegebenen. Um den Prozessor nicht zu belasten ist ein kleiner Timeout drin. Wird während dieser Prozedur
eine der zu überwachenden Anwendungen beendet kommt die Exception bei Zugriff auf den Prozess in diesem Punkt nicht mehr
aktuellen Liste.

Fehler wird jetzt behandelt (also ignoriert).

Hoffe du nimmst es mir nicht krumm, dass ich nicht alle Sonderfälle durchexerziert habe und du sozusagen am Debugprozess
teilnehmen darfst - Ist aber meiner Meinung nach bei Freeware nicht unfair. In diesem Fall ist ein Logfile halt Gold wert face-smile
Falls nochmal was ist, meld' dich einfach.

Gruß
Dogbert

hi

kannst du das programm nochmal wo raufladen? habe auch probleme mit win7 und den prioritäten die automatisch vergeben werden

danke

gruss