早速の回答ありがとうございます。
> ん〜ん、ドライブリストでってことは、ネットワーク割り当てを > したドライブの \\MyServer\Shared\ みたいなのを取得したいって > こと? いえ、すいません。またもや説明不足でした。 ネットワーク割り当てをしてないコンピュータについてです。 行いたいことはネットワークコンピュータの一覧を表示して (ツリービューでもリストビューでももちろんドライブリストでも 割り当てをしてないコンピュータが表示出来ればOKです。) 該当のコンピュータをダブルクリックして、該当のコンピュータの 中のファイルを表示させて、あるファイルを選択して コマンドボタンなどをクリックすると\\MyServer\Shared\ が取得されるというものです。
わかっていただけたでしょうか?
ドライブリストを参考に持ち出してしまったので かえって内容がわかりづらかったですね。すいません。
> > APIで行く場合は、以下のコードで > (ん〜ん、これはいずれVBのページに追加しようっと。) > > Option Explicit > > Private Declare Function WNetGetUniversalName Lib "mpr" Alias "WNetGetUniversalNameA" ( _ > ByVal lpLocalPath As String, _ > ByVal dwInfoLevel As Long, _ > lpBuffer As Any, _ > lpBufferSize As Long _ > ) As Long > > Private Type UNIVERSAL_NAME_INFO > lpUniversalName As String * 1024 > End Type > > Public Function GetUniversalName(sFilePath As String) As String > Dim sBuf As UNIVERSAL_NAME_INFO > Dim nSize As Long > Dim I As Long > Dim sName As String > > GetUniversalName = "" > > Call WNetGetUniversalName(sFilePath, 1, 0, nSize) > Call WNetGetUniversalName(sFilePath, 1, sBuf, nSize) > > sName = sBuf.lpUniversalName > sName = Mid$(sName, InStr(sName, Chr(0)) + 1) > sName = Left$(sName, InStr(sName, Chr(0)) - 1) > > GetUniversalName = sName > End Function >
> > こんな感じかな? > saitoさんのしたいことって。
んんー、私にはちょっと難しいようです。 (正直言ってこれがなにをしてるのかさえわからないです。 VBを使ってはいるのですがAPIになると無知なもので・・。 恥ずかしい。) とりあえずこのサンプルをコピーどんな動作するのか確認 してみます。
|