共有フォルダへ指定したユーザー名とパスワードで接続するには、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; }
共有フォルダへ接続できました。