RunAs
Gracias ixMike por responderme, disculpa creo que no supe explicarme, al instalar el exe con un usuario sin privilegios de Admin me da error de instalacion (crear un directorio en c:/ y grabar en este el exe). No quiero que estos usuarios restringidos sepan el "password de administrador". Por eso es que lo ejecuto con RunAs.
Utilizo este Codigo
function TForm1.RunExe2(Cmdline: string): boolean;
var
Startupinfo : TStartupinfo;
Processinfo : TProcessinformation;
parametros : String;
begin
Fillchar(Startupinfo,Sizeof(TStartupinfo),0);
with startupinfo do
begin
cb := sizeof(tstartUPinfo);
dwflags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK or STARTF_USESTDHANDLES;
WSHOWWINDOW := SW_SHOWNORMAL;
end;
result := CreateProcess(nil,PChar(cmdLine), nil, nil, true,NORMAL_PRIORITY_CLASS,nil, nil, Startupinfo, Processinfo);
if booltostr(result) = '0' then Messagebox(0,pchar(SysErrorMessage(GetLastError)),'Message',MB_ICONERROR);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
RunExe2('"C:\Windows\System32\RunAs.exe" /env /user:Administrator "C:\Facturacion\ProjectFactura.EXE"');
end;
En este codigo algo no funciona bien ......
|