タイトル | ローカルドライブに割り当てられているUNC名を取得する |
対象言語 | VB4.0, Access95以降 |
動作確認OS | Windows95,98,NT4.0 |
使用関数 | WNetGetConnection |
改築日 | 1999/08/30(1998/02/04) |
Source Download |
ローカルドライブからマウントされている ネットワークリソース名を取得します。 下の例では、Gドライブに適当なネットワークパスを 割り当てておき、そのGドライブのネットワークパス名 を取得します。 |
![]() |
1. フォームを作成しコマンドボタン(Command1)テキストボックス(Text1)を貼り付けてください。 Option Explicit Private Sub Command1_Click() Dim StrBuf As String StrBuf = Y_GetResourceNameFromLocalDrive("J:") If StrBuf <> vbNullString Then Text1 = StrBuf Else Call MsgBox("ドライブがないか、ネットワークドライブじゃないよぉ (ToT)") End If End Sub |
2.モジュールウインドウを作成し、下のソースを入力してください。 Option Explicit 'ローカルドライブからマウントされているネットワークリソース名を取得する Declare Function WNetGetConnection Lib "mpr.dll" Alias "WNetGetConnectionA" _ (ByVal lpszLocalName As String, ByVal lpszRemoteName As String, cbRemoteName As Long) As Long Public Const MAX_PATH = 260 Public Function Y_GetResourceNameFromLocalDrive(Drv As String) As String '*********************************************************** '機能 : ローカルドライブからマウントされている ' ネットワークリソース名を取得する '引数 : Drv = 取得するドライブ名 '戻り値: ネットワークリソース名 '*********************************************************** Dim longret As Long Dim StrBuf As String Dim DriveName As String DriveName = Left$(Drv, 1) & ":" StrBuf = String$(MAX_PATH, vbNullChar) longret = WNetGetConnection(DriveName, StrBuf, MAX_PATH) Y_GetResourceNameFromLocalDrive = EditBuf(StrBuf) End Function Public Function EditBuf(Buf As String) As String '*********************************************************** '機能 : 引数 Bufの文字列中の Nullコードを検索し、Nullコードを ' 除いた文字列を返す '引数 : Buf = Nullコードを含む文字列 '戻り値: Nullコードを除いた文字列 '*********************************************************** Dim i As Long i = InStr(Buf, vbNullChar) If i <> 0 Then EditBuf = Left$(Buf, i - 1) Else EditBuf = Buf End If End Function |
Copyright (C)1997-2001 空耳工房 MY2Project All rights reserved. |