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;