Если у вас есть права администратора, решение довольно простое.Доступен административный ресурс C$
.Вы можете позвонить WNetAddConnection2
, чтобы создать локальную букву диска, указывающую на него.NETRESOURCE.dwType = RESOURCETYPE_DISK
конечно, .lpLocalName = NULL
как вам это не нужно, .lpRemoteName = _T("\\\\10.10.20.30\\c$")
(обратите внимание на экранирование \ in строк C, оно действительно начинается с 4 из них)..lpProvider = NULL
- пусть Windows определит поставщика.
Оставьте имя пользователя и пароль пустыми, и Windows будет использовать ваши текущие учетные данные пользователя.Если это действительно (сетевые) учетные данные администратора, их достаточно.
dwFlags
должен включать CONNECT_TEMPORARY
, поскольку вас интересует только один файл.
Однако я думаю, что (при наличии достаточных учетных данных) проще просто позвонить CreateFile("\\\\10.10.20.30\\c$\\test.txt")
пусть Windows разберется с деталями.