掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
「ネットワークパスワードの入力」を表示させる為には? (ID:116861)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
同じ問題につきあたっていました。参考書に下記のTipがありました。 (秀和システム「VisualBasic逆引き大全500の極意」) 私はこれで解決しました。 ' API宣言 Private Declare Function SHBrowseForFolder Lib "shell32.dll" _ (lpbi As BrowseInfo) As Long Private Declare Function SHGetPathFromIDList Lib "shell32.dll" _ (ByVal pidList As Long, _ ByVal lpBuffer As String) As Long Private Declare Function lstrcat Lib "kernel32.dll" Alias "lstrcatA" _ (ByVal lpString1 As String, _ ByVal lpString2 As String) As Long ' 構造体宣言 Private Type BrowseInfo hWndOwner As Long pIDLRoot As Long ' 表示する範囲を指定 pszDisplayName As Long lpszTitle As Long ' ダイアログボックスのタイトル ulFlags As Long ' 選択可能範囲を指定 lpfnCallback As Long lParam As Long iImage As Long End Type ' 定数宣言 Private Const BIF_RETURNONLYFSDIRS = 1 ' 共有フォルダのみ選択可能 Private Const CSIDL_NETWORK = &H12 ' ネットワークのみ閲覧可能にする Private Const MAX_PATH = 260 Private Sub Command1_Click() Dim lngpidList As Long Dim lngRes As Long Dim strBuffer As String Dim tBrowseInfo As BrowseInfo Dim strNetPath As String With tBrowseInfo .hWndOwner = Me.hWnd .pIDLRoot = CSIDL_NETWORK .lpszTitle = lstrcat("ネットワークの参照", "") .ulFlags = BIF_RETURNONLYFSDIRS End With lngpidList = SHBrowseForFolder(tBrowseInfo) If (lngpidList) Then strBuffer = Space$(MAX_PATH) lngRes = SHGetPathFromIDList(lngpidList, strBuffer) If (lngRes) Then strNetPath = Left(strBuffer, InStr(strBuffer, vbNullChar) - 1) MsgBox strNetPath Else MsgBox "パス取得に失敗しました。" End If Else MsgBox "表示に失敗しました" End If End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.