Hi,
ich habe 2 kleine Frage. Irgendwie schaffe ich es nicht ganz.
Ich rufe mit anderen UserRechten das Control Panel auf bzw. die Services auf. Die Umsetzung mit den UserRechten ist OK bloß der Syntax für den Aufruf stimmt nicht ganz.
Wie realisiere ich:
1. Control Panel mit Software Eigenschaften:
Delphi-Quellcode:
procedure Tfrm_main.btn_softwareClick(Sender: TObject);
var
app, param : string;
begin
app := PJSysInfo1.SystemFolder+'\control.exe';
param := 'appwiz.cpl';
If not CreateProcessAsLogon(frm_login.edt_username.Text,frm_login.edt_password.Text,frm_login.cb_domain.Text, app, param) then
RaiseLastOSError;
end;
geht nur bis in die Control Panel Ansicht und nicht weiter
2. Aufruf *.MSC Dateien mit CreateProcessAsLogon
Delphi-Quellcode:
procedure Tfrm_main.btn_computermmClick(Sender: TObject);
var
app, param : string;
begin
app := PJSysInfo1.SystemFolder+'\Compmgmt.msc';
param := '';
If not CreateProcessAsLogon(frm_login.edt_username.Text,frm_login.edt_password.Text,frm_login.cb_domain.Text, app, param) then
RaiseLastOSError;
end;
Bring SystemFehlermeldung: System ERROR Code:193
CreateProcessAsLogon Function:
Delphi-Quellcode:
function CreateProcessAsLogon(const User, PW, Domain, Application, CmdLine: WideString):
Boolean;
var
si : TStartupInfoW;
pif : TProcessInformation;
begin
ZeroMemory(@si, sizeof(TStartupInfo));
si.cb := SizeOf(TStartupInfoW);
si.dwFlags := STARTF_USESHOWWINDOW;
si.wShowWindow := 1;
Result := CreateProcessWithLogonW(PWideChar(User), PWideChar(Domain), PWideChar(PW),
LOGON_WITH_PROFILE, PWideChar(Application), PWideChar(CmdLine),
CREATE_DEFAULT_ERROR_MODE, nil, nil, si, pif);
end;
Wo liegt denn der Fehler? ich hoffe mir kann einer helfen. Danke