Autor Beitrag
kandesbunzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 116
Erhaltene Danke: 1


Delphi 7, XE2
BeitragVerfasst: Do 23.11.06 01:54 
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 user profile iconraziel: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Do 23.11.2006 um 07:04
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 116
Erhaltene Danke: 1


Delphi 7, XE2
BeitragVerfasst: 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.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 116
Erhaltene Danke: 1


Delphi 7, XE2
BeitragVerfasst: 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.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 23.11.06 13:07 
user profile iconkandesbunzler 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 116
Erhaltene Danke: 1


Delphi 7, XE2
BeitragVerfasst: 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.