Dysk sieciowy na hasło, jak zapisac plik ?

0

Czy da się zapisyac plik na dysku sieciowym bez mapowania dysku sieciowego ?
Znam nazwę serwera sieciowego, nazwę użytkownika i hasło i chciałbym zapisać na dysku sieciowym plik.
Chciałbym też nie wychodzić poza moja aplikację (np. standardowe okna Windows gdzie wprowadza się użytkownika i hasła)

Rozwianie na podstawie dyskusji w wątku
funkcje :
WNetAddConnection2A
WNetCancelConnection2

var
  f:TMemoryStream;
  buf: integer;
  resource: TNetResource;
  result_conn, retval : DWORD;
begin
  resource.dwType := RESOURCETYPE_DISK;
  resource.lpLocalName := 0;
  resource.lpRemoteName := '\\serwer\pliki';
  resource.lpProvider := 0;

  result_conn := WNetAddConnection2(resource,'PASS','USERNAME', CONNECT_TEMPORARY);
  if result_conn = NO_ERROR then
  begin
    try
      f:=TMemoryStream.Create;
      buf := 1234;  // jakis dane
      f.Write(buf, SizeOf(buf));
      try
        f.SaveToFile('\\serwer\pliki\test2.raw');
      except
        on e: Exception do
        begin
          ShowMessage('Exception->'+e.Message);
        end;
      end;
    finally
      f.Free;
    end;
    // cancel connection
    retval := WNetCancelConnection2('\\serwer\pliki, 0, TRUE);
  end
  else
  begin
    if result_conn = ERROR_LOGON_FAILURE then
    begin
      ShowMessage('wrong user password! TO DO !');
    end;
  end;

1

Powinno działać bez problemu jeżeli użytkownik ma odpowiedznie uprawnienia, a w sieci są prawidłowo wdrożone usługi AD DS

2

Rzuć okiem na ten link, wydaje mi się, że to jest to, czego szukasz:
https://stackoverflow.com/questions/23271418/access-to-a-protected-network-share-using-win32-c

0

Przykład rozwiązania problemu w pierwszym poście, na podstawie linka od @cerrato

1 użytkowników online, w tym zalogowanych: 0, gości: 1