Ver Mensaje Individual
  #1  
Antiguo 19-01-2016
noobdelphi5 noobdelphi5 is offline
Miembro
NULL
 
Registrado: ene 2015
Posts: 22
Reputación: 0
noobdelphi5 Va por buen camino
Smile Insertar credencial de unidad de red

Buenas Tardes,

Uso Delphi 7 y mi servicio se usará en win XP, vista, 7 y 8.
Tengo un problema con este procedure sirve perfectamente si lo corro con un botón, pero al momento de correrlo como un servicio de windows me abre el cmd pero no borra la unidad, ni inserta la credencial de la unidad de red.
A continuación pegó mi código:

Código Delphi [-]
procedure loginRed(cmdUnidad, cmdusuario, cmdPass, cmdRuta, cmdVentana: String; cmdTiempo: Integer; cmdError: Boolean);
var
  conectar: String;
  opcion: Cardinal;
begin
  opcion:=SW_HIDE;
  case AnsiIndexStr(cmdVentana,['oculta', 'visible']) of
    0 : opcion:=SW_HIDE;
    1 : opcion:=SW_SHOW;
  end;
  conectar:='net use '+cmdUnidad+' '+cmdRuta+' /user:'+cmdUsuario+' '+cmdpass;
  WinExec(PChar('net use '+cmdUnidad+' /del /yes'), opcion);
  sleep(cmdTiempo);
  if cmdError=True Then
  begin
    ShowMessage(SysErrorMessage(GetLastError));
  end;
  WinExec(PChar(conectar), opcion);
  sleep(cmdTiempo);
  if cmdError=True Then
  begin
    ShowMessage(SysErrorMessage(GetLastError));
  end;
end;

¿Es posible hacer esto cómo servicio?, Necesito su ayuda, ya lo intente sigo sin resultados.
Otra pregunta, ¿Para atrapar la pantalla de cmd como le puedo hacer?, porque SysErrorMessage(GetLastError) no arroja el error al no poder conectar a la unidad de red, solo aparece "La operación se ha completado correctamente".

Última edición por noobdelphi5 fecha: 19-01-2016 a las 01:57:02. Razón: me falto sintaxis del codigo
Responder Con Cita