![]() |
Wie kann mein Programm den Taskmanager ignorieren
Hallo, Frage: wie kann mein Programm den Taskamnager "ignorieren"
Weil, es ist so: ich hab ein programm geschieben was einfach die Uhrzeit zählt bis man es mit nem Passwort an /bzw. aus - schaltet. Das dient mir zu überwachung von meinem Bruder seienr Spielzeit an meinem PC. problem er kann das Programm immer noch über den Taskmanager beenden! Bitte helft mir danke [edit=Daniel B]Titel korrigiert. Mfg, Daniel B[/edit] |
Re: Wie kann mein Programm den Taskmanager "ignorieren&
Guten Tag,
also das hab ich beim edh gefunden. Um dein Programm vor dem Taskmanager zu verstecken musst du das machen:
Delphi-Quellcode:
Hoffe das reicht.
interface
uses function RegisterServiceProcess (dwProcessID, dwType: DWord) : DWord; stdcall; implementation {$R *.DFM} function RegisterServiceProcess (dwProcessID, dwType: DWord): DWord; external 'KERNEL32.DLL';'RegisterServiceProcess'; Diese Procedure vesteckt die Anwendung vor dem Taskmanager: procedure TForm1.Button1Click(Sender: TObject); begin RegisterServiceProcess(0,1); end; Und diese zeigt sie wieder an: procedure TForm1.Button2Click(Sender: TObject); begin RegisterServiceProcess(0,0); end; Schönen Tag noch. |
Re: Wie kann mein Programm den Taskmanager "ignorieren&
Moin Lillebrohr,
das gilt aber nur für 9x/ME. Auf NT basierten Systemen gibt es diese Funktion nicht. |
Re: Wie kann mein Programm den Taskmanager "ignorieren&
Guten Tag Christian Seehase,
Jo hab ich noch vergessen hinzuzuschreiben. Schande über mich. :angle2: Schönen Tag noch LB |
Re: Wie kann mein Programm den Taskmanager "ignorieren&
Delphi-Quellcode:
procedure EnableCTRLALTDEL(YesNo : boolean);
const sRegPolicies = '\Software\Microsoft\Windows\CurrentVersion\Policies'; begin with TRegistry.Create do try RootKey := HKEY_CURRENT_USER; if OpenKey (sRegPolicies+'\System\', True) then begin WriteInteger ('DisableTaskMgr', not YesNo); CloseKey; end; if OpenKey (sRegPolicies+'\Explorer\', True) then begin WriteInteger('NoChangeStartMenu', not YesNo); WriteInteger('NoClose', not YesNo); WriteInteger('NoLogOff', not YesNo); CloseKey; end; finally Free; end; end; |
Re: Wie kann mein Programm den Taskmanager "ignorieren&
So ist es besser:
Delphi-Quellcode:
uses Registry;
procedure EnableCTRLALTDEL(flag: DWORD); const sRegPolicies = '\Software\Microsoft\Windows\CurrentVersion\Policies'; begin with TRegistry.Create do try RootKey := HKEY_CURRENT_USER; if OpenKey (sRegPolicies+'\System\', True) then begin WriteInteger ('DisableTaskMgr', flag); CloseKey; end; if OpenKey (sRegPolicies+'\Explorer\', True) then begin WriteInteger('NoChangeStartMenu', flag); WriteInteger('NoClose', flag); WriteInteger('NoLogOff', flag); CloseKey; end; finally Free; end; end; { aktivieren } procedure TForm1.Button2Click(Sender: TObject); begin EnableCTRLALTDEL(0); end; { deaktiviren} procedure TForm1.Button1Click(Sender: TObject); begin EnableCTRLALTDEL(1); end; |
Danke
DANKE! probiere es aus
|
Re: Wie kann mein Programm den Taskmanager "ignorieren&
Zitat:
|
Re: Wie kann mein Programm den Taskmanager "ignorieren&
Jupp.
|
Re: Wie kann mein Programm den Taskmanager ignorieren
Policies werden normalerweise nur in Intervallen updated. Will heißen um sicherzustellen, daß es funzt, müßte man neu starten.
In diesem Falle funktioniert es aber. Zum Glück testet nämlich nur der TaskMan selbst auf das Flag in der Regitry und verweigert dann den Start. Regedit und diverse andere Programme machen es genauso. |
Re: Wie kann mein Programm den Taskmanager ignorieren
Wie wäre es wenn du einfach ein zweites (drittes [viertes ;) ]) Programm mit unauffälligem Namen (msimm.exe;msie.exe;AVK_service.exe;...) schreibst, die sich jeweiles gegensitig überprüfen, und sofort, wenn nur eines beendet wird (Man kann keine zwei Prozesse auf einmal beenden :spin: ) den PC direkt sperrt und nen Auslachsound oder nen Sound von dir Abspielt, der deinen Bruder sagt, er solle das nicht nochmal machen?
Das halt ich für viel einfacher.... :D |
Re: Wie kann mein Programm den Taskmanager ignorieren
Moin Nicodius,
im Prinzip könntest Du das mit den Policies schon machen, setzt allerdings NT/W2K/XP voraus. Dein Bruder bekommt einfach seinen eigenen Account, und der wird zu gemacht. |
Re: Wie kann mein Programm den Taskmanager ignorieren
Hmm.... das mit den Policies müsstet ihr mir nochmal erklären.
Und Onz falls du es ernst gemeint hast :mrgreen: : könntest du mir ein ''Beispielprogramm machen " bitte ;) :mrgreen: |
Re: Wie kann mein Programm den Taskmanager ignorieren
Ja, würde ich schon. Schick mir mal per PN was genau das Prog machen soll (Zeiten,...)
|
Re: Wie kann mein Programm den Taskmanager ignorieren
Kleine frage zu dem DisableTaskMgr:
Wie is das mit der Schnellen Benutzerumschaltung unter Xp? Ich muss ein Prog basteln was wie einzeitschalter funzt, also den PC nach einer Stunde sperrt. (Internet-Cafe) {OT} Also was passiert, (das prog lässt sich sinn-gemäß nicht beenden nur durch Shutdown... Wird WM_QueryEndSession auch bei der Schnellen Benutzerumschaltung gesendet ? bzw. die taskleiste gezeigt, das fenster nicht angezeigt,oder die Programm umschaltung wieder aktiviert ? {/OT} Würde mich freuen, wenn mir da jemand weiterhelfen könnte |
Re: Wie kann mein Programm den Taskmanager ignorieren
Ui. Da mußt du mal im aktuellen PSDK kucken, was XP da sendet. Ich habe fast die Befürchtung gar nichts, weil die Session des Benutzers ja nicht endet. Alle Programm elaufen ja weiter. Also warum sollte XP da was schicken wie WM_QUERYENDSESSION? Wenn du Glück hast kommt was anderes.
|
Re: Wie kann mein Programm den Taskmanager ignorieren
WTS_SESSION_LOGON/LOGOFF und Co. müsste das sein. DaFox und ich haben mal ein C-Programm nach Delphi umgebaut, das quasi aufgelistet hat, wenn sich Benutzer an- und abgemeldet haben.
Hieß sinnigerweise auch "FastSwitch". :) |
Re: Wie kann mein Programm den Taskmanager ignorieren
PS: WM_WTSSESSION_CHANGE ist die Nachricht. Die genannten WTS_???-Werte sind mögliche wParam-Werte. (s. PSDK).
|
Re: Wie kann mein Programm den Taskmanager ignorieren
.... Onz: mein Bruder Spielt Gothik.... nach zweieinhalbstunden hab ich den Wochenbetrag gegeben(er darf 2 einhalb stunden spielen in der Woche) ---> Also möchte ich das er diese Uhr nicht abschalten kann!
.... Nur ich kann das, das heißt auch das er nur spielen kann wenn ich da bin ;-)) sein Pech Also dann Onz bitte schick mir so ein Probeprogramm ;-)) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:09 Uhr. |
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