![]() |
Ich werde wahnsinnig !! Registry und TaskMGr
Ich habe folgendes *extrem nervendes* Problem. Ich hab ne DLL geschrieben in der folgende procedure drin ist:
Delphi-Quellcode:
Nun habe ich eine Anwendung die diese folgendermassen deklariert:
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 case YesNo of False: begin WriteInteger('DisableTaskMgr',1); end; True: begin WriteInteger('DisableTaskMgr',0); end; end; end; CloseKey; if OpenKey(sRegPolicies+'\Explorer\',True) then begin case YesNo of False: begin WriteInteger('NoChangeStartMenu',1); WriteInteger('NoClose',1); WriteInteger('NoLogOff',1); end; True: begin WriteInteger('NoChangeStartMenu',0); WriteInteger('NoClose',0); WriteInteger('NoLogOff',0); end; end; end; CloseKey; finally Free; end; end; procedure EnableCTRLALTDEL(YesNo : boolean); external 'denied.dll' function DisableTaskKeys(bDisable: bool): bool; stdcall; external 'denied.dll' Das ist eine Art Sperrbildschirm daher die Funktion. Also wird die Exe aufgerufen und es funzt einfach nicht ! Ich bin mir ganz sicher das ich nichts falsch gemacht habe, denn in einer normalen Exe funktioniert es auch. Das einzige was bei meiner anders ist, ist das sie von einem Dienst aufgerufen wird. Die function DisableTaskKeys funktioniert wunderbar. (bitte sag jetzt keiner es liegt an stdcall denn daran liegt es nicht) Kann es sein das es irgendwie an was anderes (Windows Internes) liegt was ich einfach nur nicht weiß??? |
Re: Ich werde wahnsinnig !! Registry und TaskMGr
Also das hat auf jeden Fall mit dem Dienst zu tun ! Ich nehme an, das Programm weiß nicht welcher User der CURRENT_USER ist weil es vom Dienst gestartet wird ?! Hat jemand ne Idee wie ich das umgehen kann?
|
Re: Ich werde wahnsinnig !! Registry und TaskMGr
Zitat:
PATT-Situation, falscher Ansatz ;) ...:cat:... |
Re: Ich werde wahnsinnig !! Registry und TaskMGr
Also der Dienst läuft unter SYSTEM und das Programm das der Dienst startet läuft demnach auch unter SYSTEM. Und nun soll ich es ändern, indem ich beim Dienst einstelle das es nicht unter SYSTEM sondern unter CURRENT_USER starten soll?
Wie? :))) StartType Beschreibung StartType legt fest, wie und aus welchen Gründen der Dienst gestartet wird. Möglichkeiten: stAuto, stBoot, stDisabled, stSystem, stManuel -> Ist momentan auf Auto ServiceType Beschreibung Die Eigenschaft ServiceType gibt den Typ des Dienstes an. ServiceType kann folgende Werte annehmen: stWin32 (der Standardwert, ein Win32-Dienst), stDevice (ein Gerätetreiber) oder stFileSystem (ein Dateisystemtreiber -> Ist momentan auf stWin32 Interactive Beschreibung Interactive legt fest, ob der Dienst mit dem Windows-Desktop interagieren kann. Diese Eigenschaft wirkt sich nur dann aus, wenn ServiceType den Wert stWin32 hat. Weitere Informationen über die Erstellung von interaktiven NT-Diensten finden Sie in der Microsoft-Hilfe. -> Ist momentan auf False (war schon auf True aber das hat auch nichts gebracht) Ich muss dem Dienst ja einfach sagen das er das er die SperrBildschirm.exe unter Current_user starten soll. Da bin ich aber atm überfragt ;) Zitat:
|
Re: Ich werde wahnsinnig !! Registry und TaskMGr
Zitat:
Zitat:
Zitat:
Auf die Gefahr hin, daß ich mich wiederhole: Siehe oben PATT-Situation, falscher Ansatz ;) ...:cat:... |
Re: Ich werde wahnsinnig !! Registry und TaskMGr
Soll heißen ich muss das ohne Dienst machen, weil es keine Ausweichmöglichkeit gibt?
|
Re: Ich werde wahnsinnig !! Registry und TaskMGr
Zitat:
Kurz: Eine andere Lösung muss her ;) ...:cat:... |
Re: Ich werde wahnsinnig !! Registry und TaskMGr
Hallöchen,
du kannst den Dienst als einer gesetzten User-ID setzen. Im Dienst-Controlpanel rechte MT auf den Dienst, Eigenschaften und im Logon-Tab den User angeben. Philip |
Re: Ich werde wahnsinnig !! Registry und TaskMGr
Zitat:
|
Re: Ich werde wahnsinnig !! Registry und TaskMGr
Zitat:
@Schnaddel: Du wolltest sagen :gruebel: ...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:24 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