WNetUseConnectionこの関数はCONNECT_INTERACTIVE、CONNECT_PROMPTフラグと一緒に使用できます。空のユーザー ID とパスワード パラメーターと組み合わせて、資格情報ダイアログを呼び出し、正しい資格情報を入力するとネットワーク リソースに接続します。
procedure TForm1.Button1Click(Sender: TObject);
var
  BufferSize: DWORD;
  ResultFlag: DWORD;
  NetResource: TNetResource;
begin
  NetResource.dwType := RESOURCETYPE_DISK;
  NetResource.lpLocalName := nil;
  NetResource.lpRemoteName := '\\MySuperSecret\Place';
  NetResource.lpProvider := nil;
  if WNetUseConnection(Handle, NetResource, nil, nil, CONNECT_INTERACTIVE or
    CONNECT_PROMPT, nil, BufferSize, ResultFlag) = NO_ERROR
  then
    ShowMessage('Connected!');
end;
資格情報の入力を求めずにネットワーク リソースに接続するには、次の関数に示すように、上記で指定したフラグを削除します。接続が成功した場合は True を返し、失敗した場合は False を返します。パラメータの説明は次のとおりです。
- RemoteName (文字列) - リモート ネットワーク名
- UserName (文字列) - ネットワーク リソースへの接続に使用されるユーザー名
- パスワード (文字列) - ネットワーク リソースへの接続に使用するパスワード
function TryConnect(const RemoteName, UserName, Password: string): Boolean;
var
  BufferSize: DWORD;
  ResultFlag: DWORD;
  NetResource: TNetResource;
begin
  NetResource.dwType := RESOURCETYPE_DISK;
  NetResource.lpLocalName := nil;
  NetResource.lpRemoteName := PChar(RemoteName);
  NetResource.lpProvider := nil;
  Result := WNetUseConnection(0, NetResource, PChar(UserName), PChar(Password),
    0, nil, BufferSize, ResultFlag) = NO_ERROR;
end;