ネットワークプロバイダ名を取得          <TOP>


NetTypeで指定したタイプのネットワークプロバイダ名を取得します。

WNetGetProviderName ネットワークプロバイダ名を取得

 

 

'================================================================
'= ネットワークプロバイダ名を取得
'=    (WNetGetProviderName.bas)
'================================================================
#include "Windows.bi"

' 指定した種類のネットワークのプロバイダ名を取得
Declare Function Api_WNetGetProviderName& Lib "mpr" Alias "WNetGetProviderNameA" (ByVal dwNetType&, ByVal lpProvider$, lpBufferSize&)

#define WNNC_NET_LANMAN &H20000         'Microsoft Windows Network標準タイプ
#define ERROR_MORE_DATA 234             '
#define NO_ERROR 0                      '

Var Shared Text1 As Object
Var Shared Text2 As Object
Var Shared Button1 As Object

Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14
Text2.Attach GetDlgItem("Text2") : Text2.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var Ret As Long
    Var Provider As String
    Var BufferSize As Long
    
    'バッファサイズを取得
    Ret = Api_WNetGetProviderName(WNNC_NET_LANMAN, Provider, BufferSize)

    If Ret = ERROR_MORE_DATA Then
        '文字列変数を初期化
        Provider = String$(BufferSize + 1, Chr$(0))

        'ネットワークプロバイダ名を取得
        Ret = Api_WNetGetProviderName(WNNC_NET_LANMAN, Provider, BufferSize)
    End If

    If Ret = NO_ERROR Then
        'ネットワークプロバイダ名を表示
        Text2.SetWindowText Provider
    Else
        Text2.SetWindowText "ネットワークプロバイダ名を取得できません。"
    End If
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End