エクスプローラの[アドレス]入力で、
[\\hogeSrv\piyo\bar.txt]
と入力すると、
「ネットワークパスワードの入力」というダイアログが表示されます。
このダイアログを出さないようにする(突破する)コードを教えてください。
※このような認証させるロジックを知りたいです。
※もしくは、ダイアログに手入力することなく、ファイルアクセスするような方法でも良いです。
※ネットワークドライブの割り当ては避けたいです。
以上、よろしくお願いします。
ネットワークドライブへのアクセスは、WNet APIを使用します。
たとえば、「ネットワークパスワードの入力」というダイアログそのものも、WNetConnectionDialog()やWNetConnectionDialog1()といったAPIで呼び出せます。
ダイアログを使わずに、同等の処理を行うには、WNetAddConnection2()、WNetAddConnection3()などのAPIで、通常ダイアログで入力するユーザー名やパスワードを、プログラムから引数として渡してやることで、ダイアログを表示させずに接続させることができます。
ただし、.NET FrameworkではまだI/Fが提供されていないようですので、ネイティブAPI呼び出しで実現する必要があります。
既存のラッパーを使うと便利でしょう。
なるほど!
いけそうですね。素晴らしいです。
今日はもう寝るので明日やってみます。
ありがとうございました。