Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi WoW - automatisch beenden - unsichtbar, im hintergrund (https://www.delphipraxis.net/142454-wow-automatisch-beenden-unsichtbar-im-hintergrund.html)

Say1k 28. Okt 2009 13:51


WoW - automatisch beenden - unsichtbar, im hintergrund
 
Hallo,
ich suche eine möglichkeit das spiel world of warcraft von computer automatisch beenden zu lassen, wenn es länger als 60 min lief.
da delphi die einzige programmiersprache ist in der ich etwas kann suche ich hier nach hilfe.
ist es möglich soetwas mit delphi zu schreiben und die entstehende execute datei in den autostart des computers zu schieben?
muss nicht sonderlich gut versteckt oder abgesichert sein ;).
ich habe mit delphi bis jetzt erst programme geschreiben, die ein sichtbares fenster hatten und sich nicht außerhalb der objecktumgebung aufgehallten haben(so zum beispiel das programmieren eines taschen rechners mit +,-,*,/,sin,cos,tan,rdm oder die programmierung eines minipaints)


wäre gut wenn mir hier jemand die ansätzte die ich brauche erklähren könnte und ggf einige anfänge für den quelltext bereitstellen könnte;)

wenn es noch fragen gibts was ich suche einfach fragen ;)



lg, Say

Balu der Bär 28. Okt 2009 13:55

Re: WoW - automatisch beenden - unsichtbar, im hintergrund
 
Moin,

schreib dir nen Delphi-Referenz durchsuchenDienst der den [OH]Prozess+überwacht[/OH] (WoW.exe oder sowas?) und [oh]schieße den Task ab[/oh] wann du willst.

Grüße

//Edit: Wieso funktionieren die OH-Tags nicht? :gruebel:

Phoenix 28. Okt 2009 14:03

Re: WoW - automatisch beenden - unsichtbar, im hintergrund
 
Weil die OH-Tags ja auch OH-Tags und keine oh Tags sind (die sind case sensitive). UNd wenn Du da rumeditierst nimm bitte das Fäkalwort raus. Danke :mrgreen:

Andreas L. 28. Okt 2009 14:06

Re: WoW - automatisch beenden - unsichtbar, im hintergrund
 
Du brauchst dazu GetTickCount und folgende Funktionen:

Delphi-Quellcode:
uses
  Windows, TLHelp32, ShlObj;


...
...

function processExists(exeFileName: string): Boolean;
var
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
begin
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
  ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
  Result := False;
  while Integer(ContinueLoop) <> 0 do
  begin
    if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
      UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
      UpperCase(ExeFileName))) then
    begin
      Result := True;
    end;
    ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
  end;
  CloseHandle(FSnapshotHandle);
end;

function KillProcess(const ExeName: String):Boolean;
var
  Process: TProcessEntry32;
  h: THandle;
begin
  Result := False;
  Process.dwSize := SizeOf(Process);
  h := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  try
   if Process32First(h, Process) then
    repeat
     if AnsiLowerCase(Process.szExeFile) = AnsiLowerCase(ExeName) then Result := TerminateProcess(OpenProcess(Process_Terminate, False, Process.th32ProcessID), 0);
    until (not Process32Next(h, Process)) or Result;
  finally
   CloseHandle(h);
  end;
end;

Neutral General 28. Okt 2009 14:34

Re: WoW - automatisch beenden - unsichtbar, im hintergrund
 
Hi,

Ich will mich ja nicht in die Sache einmischen aber ich schätze mal es geht darum dass eine gewisse Person (Kind schätze ich) nicht länger als 1 Stunde WoW spielen soll.

Falls das der Fall ist (wovon ich ausgehe), dann ist so ein Programm wie du es schreiben willst keine zufriedenstellende Lösung.
Ich denke die alte Methode "Reden und ggf. mit Konsequenzen drohen" ist hier die beste.

Wenn es oft Streit und Ärger gab wegen WoW, dann wird dieses Programm das ganze noch verschlimmern in meinen Augen.
Ich habe auch mal eine lange Zeit WoW gespielt und wenn irgendein Programm das Spiel ohne Vorwarnung mitten im Spielfluss abgeschossen hätte (und ich gewusst/geahnt hätte, dass meine Eltern dahinter stecken), dann wäre ich wahrscheinlich auf die Barrikaden gegangen und es hätte wohl böse gekracht zwischen mir und meinen Eltern.

Nur so als kleiner Ratschlag am Rande... ;)

Gruß
Neutral General

Balu der Bär 28. Okt 2009 14:42

Re: WoW - automatisch beenden - unsichtbar, im hintergrund
 
Zitat:

Ich habe auch mal eine lange Zeit WoW gespielt und wenn irgendein Programm das Spiel ohne Vorwarnung mitten im Spielfluss abgeschossen hätte (und ich gewusst/geahnt hätte, dass meine Eltern dahinter stecken), dann wäre ich wahrscheinlich auf die Barrikaden gegangen und es hätte wohl böse gekracht zwischen mir und meinen Eltern.
Beste Lösung: Gib einfach irgendeine Windows-Fehlermeldung aus. :mrgreen:

Phoenix 28. Okt 2009 15:34

Re: WoW - automatisch beenden - unsichtbar, im hintergrund
 
Wir haben hier was ähnliches. Sohnemann meiner Freundin soll nicht zu lange am PC verbringen.
Wir setzen den WinTimer 3 ein. Er hat ein tägliches und wöchentliches (knapper als alle Tageskontingente zusammen) Zeitkonto. Diese Zeit kann er sich im rahmen der Grenzen frei Einteilen. Der Wintimer lässt ihn immer sehen, wieviel Zeit er noch hat. Und der PReis ist auch unschlagbar.

Tyrael Y. 28. Okt 2009 15:44

Re: WoW - automatisch beenden - unsichtbar, im hintergrund
 
WoW hat eine "Parental Control" Funktion.
Man muss sich dafür auf der Webseite von WoW mit den Account Daten einloggen.
Dort kann man dann einstellen wie lange gespielt werden darf.

Wenn die eingegebene Zeit erreicht ist, kommt eine Meldung IM Spiel, daß WoW gleich beendet wird.
Der Spieler hat dann noch glaub 5Mins Zeit was auch immer zu machen.

Dann wird das Spiel beendet und ein erneutes einloggen wird an diesem Tag vom Spiel verhindert.
Für genaue Informationen dazu einfach mal auf der WoW Seite nachlesen.

Edit: WoW - Parental Control


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz