Я пытаюсь вспомнить решение, которое мы использовали, когда столкнулись с этой проблемой для программы резервного копирования по сети несколько лет назад.
Я уверен, что решение предполагает использование WNetAddConnection2
или WNetAddConnection3
вместо WNetUseConnection
. Я думаю, что прохождение флага CONNECT_CRED_RESET
должно позаботиться об этом, но я не совсем уверен.
Обратите внимание, что CONNECT_CRED_RESET
задокументировано только для WNetAddConnection2
, а не WNetAddConnection3
, хотя MSDN говорит, что единственное различие между ними заключается в параметре hWnd
для владельца диалоговых окон - я бы попробовал с WNetAddConnection2
и только если это работает, экспериментируйте с WNetAddConnection3
. Вы можете даже заставить его работать с WNetUseConnection
!
Обязательно обратите внимание на зависимости CONNECT_CRED_RESET
от других флагов.