Delphi-PRAXiS
Seite 8 von 11   « Erste     678 910     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Process_Terminate funktioniert nicht (https://www.delphipraxis.net/155954-process_terminate-funktioniert-nicht.html)

blablab 18. Nov 2010 00:27

AW: Process_Terminate funktioniert nicht
 
Du könntest ihm ja zwei Benutzeraccounts einrichten. Beim 1. hat er Zugriffsrechte auf das Spiel und er hat ne Zeitbegrenzung von 2h und beim zweiten hat er kein Zugriffsrecht auf das Spiel und kann dann z.B 4h oder unbegrenzt an den PC.
Dann muss er sich halt jedesmal ummelden, aber ich denk mal das wird er verkraften...

Assarbad 18. Nov 2010 02:12

AW: Process_Terminate funktioniert nicht
 
Zitat:

Zitat von blablab (Beitrag 1062249)
Du könntest ihm ja zwei Benutzeraccounts einrichten. Beim 1. hat er Zugriffsrechte auf das Spiel und er hat ne Zeitbegrenzung von 2h und beim zweiten hat er kein Zugriffsrecht auf das Spiel und kann dann z.B 4h oder unbegrenzt an den PC.
Dann muss er sich halt jedesmal ummelden, aber ich denk mal das wird er verkraften...

Ziemlich gute Idee eigentlich.

Mir fiel übrigens noch ein, daß man auch noch WMI probieren könnte für das Beenden (ließe sich dann ggf. sogar skripten) - und zwar mit MSDN-Library durchsuchenWin32_Process (Funktion: Terminate). Nur mal so. Einen Versuch wäre es sicher wert.

speedy 18. Nov 2010 16:25

AW: Process_Terminate funktioniert nicht
 
Ja kann man mal probieren, wenn's mir langweilig ist ;)

Vorerst gibts ne Lösung mit eingeschränktem Benutzer-Account. Ist dann nur noch die Frage ob sich das Spiel ohne Admin-Rechte überhaupt starten lässt.
Werd ich am Wochenende mal ausprobieren...

speedy 29. Nov 2010 19:37

AW: Process_Terminate funktioniert nicht
 
So mal ein paar News:

Rechner wurde mit 2 normalen Benutzeraccounts eingerichet. Einer zum Arbeiten und einer zum Zocken. Da es scheinbar nur kostenpflichtige oder untaugliche Lösungen (Parents-Friend) gibt, hab ich zur Zeitüberwachung auf dem Zock-Account mal eben ein Programm geschrieben das über den Autostart gestartet wird und nach der eingestellten Zeit den Account automatisch abmeldet. Beim Versuch sich am gleichen Account wieder anzumelden wird dieser sofort wieder abgemeldet, bis zum nächsten Tag halt.

Jetzt hab ich aber ein neues Problem: Die Routine zum Account abmelden hab ich (zum Glück) in ein extra Programm gepackt, das über die Zeitüberwachung aufgerufen wird:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.ShowMainForm := false;
  ExitWindowsEx (EWX_LOGOFF, $FFFFFFFF);
  Application.Terminate;
end;
Jetzt hat mit der Zocker vorhin erzählt, dass ihn die eingeschränkte Zeit nervt :stupid:, aber sich gleich noch verplappert, dass vor dem abmelden manchmal (wohl nicht immer) die Meldung kommt "Soll auf Beendigung von Programm xyz gewartet oder dieses sofort geschlossen werden" (keine Ahnung wie der genaue Wortlaut ist)... An dieser Stelle scheint er dann den Abmeldeprozess durch "drücken auf irgend ein X" abbrechen zu können.

Gibts da denn ne Möglichkeit Windows zu überreden diese Meldung nicht zu bringen und sich einfach ohne Rückfragen abzumelden?

toms 29. Nov 2010 19:42

AW: Process_Terminate funktioniert nicht
 
ExitWindowsEx unterstützt Parameter.

http://msdn.microsoft.com/en-us/libr...68(VS.85).aspx

Luckie 29. Nov 2010 19:45

AW: Process_Terminate funktioniert nicht
 
Wenn du kein Fenster brauchst, warum erstellst du dann eine Formularanwendung? Nimm eine Konsolenanwendung und entferne das
Delphi-Quellcode:
{$APPTYPE CONSOLE}
, dann hast du auch keine Konsole. Und warum schießt du deine eigene Anwendnung ab? Ein Close hätte es auch getan.

Zu deinem Problem: Wo für steht bei ExitWindowsEx das $FFFFF? Und das funktioniert so, ohne das dafür nötige Privileg zu aktivieren? Um was für ein Betriebssystem handelt es sich?

Und warum frickelst du an einer eigenen, unsichern Lösung rum und verwendest nicht Windows Boardmittel, wie ich es schon mehrfach gesagt habe: http://forum.chip.de/windows-xp/wind...en-669232.html (Beitrag #7).

speedy 29. Nov 2010 20:06

AW: Process_Terminate funktioniert nicht
 
Ok mit dem Close und Konsolenanwendung ist was dran. ;)

Wofür das mit $FFFF... hab ich von hier: http://www.delphi-library.de/topic_W...en_8272,0.html

Ist Windows XP, aber das Privileg scheint man laut der Seite nur unter NT zu brauchen. Hat auf jeden Fall auf Anhieb funktioniert.

Zum Thema Windows Bordmittel: Diese scheinen auch nach längerer Suche keine Funktion zu haben um den Zugang so einzuschränken wie es erfolgen soll. Man kann in XP wohl zwar wunderbar festlegen, dass man sich z.B. nur zwischen 14 und 17 Uhr einloggen darf. Das bringt mir aber nichts, wenn z.B. eine Beschränkung auf 2 Std. täglich erfolgen soll unabhängig von der Uhrzeit.

Wollte ja eigentlich nichts eigenes erstellen und hab mal das kostenlose Parents-Friend ausprobiert. Abgesehen davon, dass es mehrere Anleitungen im Netz gibt wie sich das Teil in kürzester Zeit deaktivieren lässt, schafft es auch dieses Programm nicht die entsprechenden Spiele zu blockieren. Hab stundenlang mit Parents Friend rumprobiert und ausser ein paar Abstürzen von dem Programm konnte man damit nichts erreichen...

Luckie 29. Nov 2010 20:10

AW: Process_Terminate funktioniert nicht
 
Zitat:

Zitat von speedy (Beitrag 1064893)
Ist Windows XP, aber das Privileg scheint man laut der Seite nur unter NT zu brauchen. Hat auf jeden Fall auf Anhieb funktioniert.

Das kann nicht sein. Windowx XP gehört auch zur Windows NT Familie.

speedy 29. Nov 2010 20:12

AW: Process_Terminate funktioniert nicht
 
Nuja auf dem XP Rechner hats das aber getan.

Ausgeführt... Benutzer wird abgemeldet... passt ;)

speedy 29. Nov 2010 20:14

AW: Process_Terminate funktioniert nicht
 
Ergänzung:

Habs eben auch bei mir unter Win7 x64 Professional unter Admin Account probiert und funktioniert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 Uhr.
Seite 8 von 11   « Erste     678 910     Letzte »    

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