Entwickler-Ecke
Windows API - Im Systemaccount gestartetes Programm beenden
kandesbunzler - Do 23.11.06 01:54
Titel: Im Systemaccount gestartetes Programm beenden
Hallo allerseits
und Guten Morgen -).
Folgendes Problem bereitet mir Kopfzerbrechen: Wie kann ich ein Programm, welches im Systemaccount läuft, beenden? Starte ich das gleiche Programm mit dem Benutzeraccount, läßt es sich problemlos 'abschießen'. Ist die von mir dafür verwendete Routine 'KillTask (Programm.exe)' nicht geeignet oder bedarf es noch anderer Parameter?
Danke im Voraus und auf bald ...
kandesbunzler.
Moderiert von
raziel: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Do 23.11.2006 um 07:04
Delete - Do 23.11.06 02:01
Da dir der Prozess nicht gehört, wirst du ihn auch nicht beenden können. Und das ist auch gut so, sonst wäre die gesamte Rechteverwaltung von Windows für den Popo.
kandesbunzler - Do 23.11.06 02:10
Hallo Luckie (oder Lucky? -)),
danke für Deine Antwort, da hast Du sicher Recht.
Frage: Wenn ich aber dieses Programm als 'Normalbenutzer' über den Taskmanager 'abschießen' kann, müßte ich es doch ebenfalls als 'Normalbenutzer' mit 'Killtask' das gleiche erreichen. Ansonsten wäre das Sicherheitskonzept tatsächlich für, äh, die Katz. -))
Auf bald ...
kandesbunzler.
Delete - Do 23.11.06 10:33
Auch mit dem Taskmanager kannst du keine Prozesse beenden, die dir nicht gehören, da bin ich mir ziemlich sicher.
Udontknow - Do 23.11.06 11:40
Hallo!
Beendest du dieses Programm über "Task beenden" in der Taskliste oder "Prozess beenden" in der Prozessliste? Das ist ein Unterschied, bei "Task beenden" wird meines Wissens nach das Programm regulär geschlossen...
Cu,
Udontknow
kandesbunzler - Do 23.11.06 12:48
Hallo allerseits,
urks - wieder einmal nicht genau genug beschrieben - Entschuldigung.
Ich kann das Programm (bspw. Test.exe) über 'Prozess beenden' aus der Prozessliste beenden, wenn dieses vor Starten meines Tools manuell oder (testenderweise) von meinem Tool programmatisch gestartet wurde. Dies passiert nicht, wenn dieses Programm, aufgerufen durch ein anderes als separate Instanz, im Systemaccount läuft. Es verbleibt in der Prozessliste und es wird auch keine Fehlermeldungen o.ä. ausgegeben.
Ein Kollege meinte, wenn dieses Programm (Test.exe) über WM_Close beendet würde, wäre der Account (solange nicht vom Betriebssystem o.a. gesperrt), nicht relevant. Kann das stimmen?
Auf bald ...
kandesbunzler.
Delete - Do 23.11.06 13:07
kandesbunzler hat folgendes geschrieben: |
Ich kann das Programm (bspw. Test.exe) über 'Prozess beenden' aus der Prozessliste beenden, wenn dieses vor Starten meines Tools manuell oder (testenderweise) von meinem Tool programmatisch gestartet wurde. |
Dann gehört es ja auch dir bzw. deinem Programm, was es gestartet hat. Und du darfst es natürlich beenden.
| Zitat: |
| Dies passiert nicht, wenn dieses Programm, aufgerufen durch ein anderes als separate Instanz, im Systemaccount läuft. |
Noch mal, dann gehört der Prozess nicht dir, sondern dem Systemaccount!!!
| Zitat: |
| Ein Kollege meinte, wenn dieses Programm (Test.exe) über WM_Close beendet würde, wäre der Account (solange nicht vom Betriebssystem o.a. gesperrt), nicht relevant. Kann das stimmen? |
Probier es aus.
kandesbunzler - So 10.12.06 16:54
Hallo allerseits,
ich habe das Problem mittlerweile dahingehend gelöst, indem ich das betreffende Programm vor dem externen Aufruf mit meinem Account aufrufe - quasi den Aufruf 'abfange'. Damit kann ich es auch wieder beenden.
Danke an alle für die Infos!
Auf bald ...
kandesbunzler.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!