Aufgrund der Überflutung mit Antworten
vereinfache ich mal die Testsituation.
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, WinSvc;
type
TForm1 =
class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var scm: SC_HANDLE;
scs: SC_HANDLE;
begin
scm:= OpenSCManager('
',
nil, SC_MANAGER_CONNECT
or SC_MANAGER_ENUMERATE_SERVICE);
try
scs:= 0;
try
scs:= OpenService(scm, PChar('
DcomLaunch'), SERVICE_ENUMERATE_DEPENDENTS);
// scs:= OpenService(scm, PChar('TapiSrv'), SERVICE_ENUMERATE_DEPENDENTS);
if scs = 0
then
RaiseLastWin32Error;
except
CloseServiceHandle(scs);
raise;
end;
except
CloseServiceHandle(scm);
raise;
end;
end;
end.
Kann das bitte mal jemand auf einem Windows 7 einmal als Nutzer und einmal als Admin testen und mir sagen, ob dort mit Nutzerrechten ebenfalls die Meldung "Zugriff verweigert" kommt? Falls ja, kommt beim Dienst TapiSrv ebenfalls eine (sollte nicht)?
MfG Dalai