Perdón por encadenar dos mensajes seguidos en el mismo hilo, pero creo que a lo mejor a alguien puede interesarle esta información.
La siguiente función me permite logarme a un equipo remoto:
Código Delphi
[-]function InsertarCredenciales (Usuario,PassWord,Dominio: string): Boolean;
var
TokenHandle : THandle;
boolLogado : Boolean;
begin
Result := False;
boolLogado := LogonUser(PChar(Usuario), PChar(PassWord), PChar(Dominio),
LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, TokenHandle);
if boolLogado then
Result := ImpersonateLoggedOnUser(TokenHandle)
else
ShowMessage(IntToStr(GetLastError));
end;
No es lo que estaba buscando puesto que
ImpersonateLoggedOnUser() únicamente introduce las credenciales de forma temporal. Es decir, en ningún caso te permite modificar el almacén de credenciales de windows. De todas formas, hasta encontrar una solución mejor, puede servir para que mi programa realice la tarea para la que ha sido programado.
Seguiremos investigando a ver si encontramos una forma de modificar el almacén de credenciales de windows. Creo que vamos por el buen camino, pero toda ayuda sigue siendo bienvenida.
Links de interés:
Si alguien necesita más información puede buscar:
Saludos y gracias a todos.