Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
ネットワークドライブへの接続
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30161#CommentId82512
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
N88-BASIC
 (社会人)
投稿日時
2016/9/22 14:34:44
Windows 10 Pro (64bit) + Visual Basic 2015 Community にてネットワークドライブへの接続を行う処理を行おうとしております。
サーバー(ネットワークドライブの提供元)はルーターのUSBメモリの共有機能です。
マニュアル処理では問題なく接続でき、また、「ユーザー認証なし」の設定では下記コードで問題なく接続できています。
「ユーザー認証あり」に設定すると、下記コードでは”指定されたネットワークパスワードが間違っています。”と表示されてしまいます(パスワードが間違っているとおっしゃられるとそれまでですが、、)
デバッグをお願いしているようで心苦しいのですが、下記コードに問題があればご指摘いただければ幸いです。
余談ですが、WNetCancelConnection2A ではマニュアル接続のドライブの切断には問題ありません。
以上 よろしくお願いします。
以下、使用コード
'----- ネットワークドライブの接続の環境整備 -----
Public Declare Function WNetAddConnection2 Lib "mpr.dll" Alias _
"WNetAddConnection2A" (ByRef lpNetResource As NETRESOURCE,
ByVal lpPassword As String,
ByVal lpUserName As String,
ByVal dwFlags As Integer) As Integer
Public Structure NETRESOURCE
Public dwScope As Integer
Public dwType As Integer
Public dwDispalyType As Integer
Public dwUsage As Integer
Public lpLocalName As String
Public lpRemoteName As String
Public lpComment As String
Public lpProvider As String
End Structure
Private Function iAddNetDrive() As Integer
Dim NetRsrc As NETRESOURCE
Dim strUser As String = "user"
Dim strPass As String = "A"
NetRsrc.dwScope = 2
NetRsrc.dwType = &H1
NetRsrc.dwDispalyType = &H3
NetRsrc.lpLocalName = "N:"
NetRsrc.lpRemoteName = "\\NetDrive\Common"
NetRsrc.dwUsage = Nothing
NetRsrc.lpComment = Nothing
NetRsrc.lpProvider = Nothing
iAddNetDrive = WNetAddConnection2(NetRsrc, strPass, strUser, 0)
End Function
'----------- 以下が接続処理と接続処理の結果の確認 -------------
Private Sub btConnect_Click(sender As Object, e As EventArgs) Handles btConnect.Click
Dim iRes As Integer = iAddNetDrive()
lbStatus.Text = New System.ComponentModel.Win32Exception(iRes).Message
End Sub