আমি @ রকেটসারেস্টের উত্তর থেকে এটিও আবিষ্কার করেছি যে নতুন লগইন করার চেষ্টা করার সময় উইন্ডোজ পুরানো নেটওয়ার্ক শংসাপত্রগুলি সাফ করে দেবে।
তবে, তার net use "\\10.0.0.5\c$" "badpassword" /user:"baduser"
আদেশটি খুব ধীর গতির, বিশেষত যখন ক্লায়েন্টটিকে সার্ভারের প্রত্যাখ্যানের সাথে প্রতিক্রিয়া জানাতে বেশ কয়েক সেকেন্ড অপেক্ষা করতে হয়, যা ভয়ানক এবং অসুবিধাজনক।
আমার ব্যবহারের ক্ষেত্রে, আমি ড্রাইভটিতে নেটওয়ার্ক ভাগ \\Server\Share
করে নেওয়ার জন্য Win32 এপিআই ব্যবহার করতে সক্ষম হয়েছি S:\
। এটি প্রথমে ড্রাইভটি সংযোগ বিচ্ছিন্ন করে এবং তারপরে ব্যবহারকারীকে উইন্ডোজ নেটওয়ার্ক লগইন ডায়ালগের সাথে অনুরোধ জানানো হয় যাতে ব্যক্তি লগআউট এবং ভিন্ন ব্যবহারকারী হিসাবে লগইন করতে পারে।
সি কোডটি এখানে main.c
:
#ifndef UNICODE
#define UNICODE
#endif
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#define _WIN32_IE 0x0500
#pragma comment(lib, L"mpr.lib")
#include <windows.h>
//#include <stdio.h>
int wmain(const size_t argc, const wchar_t** argv) {
NETRESOURCE networkResource = {0};
networkResource.dwType = RESOURCETYPE_DISK;
networkResource.lpLocalName = L"S:";
networkResource.lpRemoteName = L"\\\\Server\\Share";
networkResource.lpProvider = NULL;
DWORD result = 0;
result = WNetCancelConnection2(networkResource.lpLocalName, CONNECT_UPDATE_PROFILE, TRUE);
// wprintf(L"WNetCancelConnection2 result: %d\n", result);
result = WNetAddConnection2(&networkResource, NULL, NULL, CONNECT_INTERACTIVE | CONNECT_PROMPT);
// wprintf(L"WNetAddConnection2 result: %d\n", result);
// getchar();
return EXIT_SUCCESS;
}
এখানে CMakeLists.txt
:
cmake_minimum_required(VERSION 3.7)
project(MapNetworkDrive)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c11 -g3 -pedantic -Wall -Wextra -O0")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS} -municode -mwindows")
set(SOURCE_FILES main.c)
add_executable(MapNetworkDrive ${SOURCE_FILES})
target_link_libraries(MapNetworkDrive mpr.lib)
MinGW-w64 ব্যবহার করে কম্পাইল করুন - 32 এবং 64 বিট উইন্ডোয়ের জন্য:
সি এর বিকল্প হিসাবে, এখানে API এ একটি সহজ সি # টিউটোরিয়াল রয়েছে:
net use
সংযোগগুলির তালিকা দেখতে টাইপ করতে পারেন , তারপরে একটি সংযোগ চয়ন করুন এবং নেটের পরামর্শ অনুসারে / মোছার যুক্তি যুক্ত করুন।