【delphi】共有フォルダへのLogon

madia.world.coocan.jp


そのまま引用させて頂きます。

// 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;