そのまま引用させて頂きます。
// HostにはIPアドレスも指定できます。 function LogonExecute(Host, UserName, Passwd: string): DWord; var NetRes : TNetResource; str: string; begin FillChar(NetRes, SizeOf(NetRes), 0); NetRes.dwType := RESOURCETYPE_DISK; str := '\\' + Host + '\IPC$'; NetRes.lpRemoteName := PChar(str); Result := WNetAddConnection2(NetRes, PChar(Passwd), PChar(UserName), CONNECT_UPDATE_PROFILE); {必要ならコメントをはずす if retn <> NO_ERROR then begin case retn of ERROR_SESSION_CREDENTIAL_CONFLICT: begin ErrMsg('Error SessionConflict'); Result := False; end; else begin ErrMsg( 'Err :'+IntToStr(retn) ); Result := False; end; end; end; } end; // HostにはIPアドレスも指定できます。 function LogoffExecute(Host: string): DWord; var str: string; begin str := '\\' + Host + '\IPC$'; Result := WNetCancelConnection2(PChar(str), CONNECT_UPDATE_PROFILE, False); {必要ならコメントをはずす if retn <> NO_ERROR then begin case retn of ERROR_OPEN_FILES: begin Result := True; end; else begin ErrMsg( 'Err :'+IntToStr(retn) ); Result := False; end; end; end; } end;