共有フォルダへ指定したユーザー名とパスワードで接続するには、WNetAddConnection2W()関数を使用します。
#include <tchar.h>
#include <iostream>
#include <windows.h>
#include <Winnetwk.h>
// lib
#pragma comment( lib, "mpr.lib" )
/*
共有フォルダへ接続する
*/
int _tmain
(
int argc
, _TCHAR* argv[]
)
{
// 標準出力にユニコードを表示できるようにする
setlocale( LC_ALL, "Japanese" );
// 接続したい共有フォルダパス
std::wstring strShareFolderPath = L"¥¥¥¥COMPUTER-NAME¥¥share";
// 接続するユーザーとパスワード
std::wstring strUserName = L"username";
std::wstring strPassword = L"password";
/*
共有フォルダへ接続する
*/
{
NETRESOURCEW tNetResource;
ZeroMemory( &tNetResource, sizeof( tNetResource ) );
tNetResource.dwType = RESOURCETYPE_ANY;
tNetResource.lpRemoteName = (LPWSTR)strShareFolderPath.c_str();
// 共有フォルダへ接続
DWORD dwResult = WNetAddConnection2W( &tNetResource, strPassword.c_str(), strUserName.c_str(), 0 );
if ( NO_ERROR == dwResult ) {
std::wcout << L"共有フォルダへ接続できました。" << std::endl;
}
else {
std::wcout << L"共有フォルダへ接続できませんでした。" << std::endl;
}
}
return 0;
}
共有フォルダへ接続できました。