Call us! 512-349-0334 or (877) INDUSOFT

Usando una función en Indusoft Web Studio para retornar el nombre de su red inalámbrica

GETSSID es una pequeña aplicación ejemplo para Indusoft web Studio que utiliza una función definida en los procedimientos principales, llamada GetSSID. Se ha creado usando diversos objetos tipo clase VBScript y sus propiedades, devuelve el nombre de la red inalámbrica a la que su ordenador está conectado en un cuadro de mensaje. Si su equipo no está conectado a una red inalámbrica, el cuadro de mensaje estará en blanco. La función se llama desde un script en un objeto  botón en una pantalla emergente.

Descarga la aplicación de ejemplo Indusoft Web Studio: GetSSID

Aquí está la función GetSSID:

Function GetSSID()

 

On Error Resume Next

Dim objFSO : Set objFSO  = CreateObject( “Scripting.FileSystemObject” )

If Err.Number <> 0 Then

$Trace(“Could not create Scripting.FileSystemObject, error = ” & CStr(Err.Number) & “: ” & Err.Description)

Exit Function

End If

Dim stdout : stdout = objFSO.GetTempName

 

Dim objWSH : Set objWSH = CreateObject( “WScript.Shell” )

If Err.Number <> 0 Then

$Trace(“Could not create WScript.Shell object, error = ” & CStr(Err.Number) & “: ” & Err.Description)

Set objFSO = Nothing

Exit Function

End If

Dim cmd : cmd = “cmd /c netsh.exe wlan show interfaces 1> “”” & stdout & “”””

objWSH.Run cmd, 0, True

If Err.Number <> 0 Then

$Trace(“Error running netsh.exe, error = ” & CStr(Err.Number) & “: ” & Err.Description)

Set objFSO = Nothing

Set objWSH = Nothing

Exit Function

End If

Dim objFile : Set objFile = objFSO.OpenTextFile(stdout,1)

If Err.Number <> 0 Then

$Trace(“Error cannot open stdout, error = ” & CStr(Err.Number) & “: ” & Err.Description)

Set objFSO = Nothing

Set objWSH = Nothing

Exit Function

End If

Dim arrLines : arrLines = Split(objFile.ReadAll,vbCrLf)

objFile.Close

objFSO.DeleteFile stdout

Set objFile = Nothing

Set objFSO = Nothing

Set objWSH = Nothing

Dim objRegExp : Set objRegExp = New RegExp

If Err.Number <> 0 Then

$Trace(“Error cannot create RegExp object, error = ” & CStr(Err.Number) & “: ” & Err.Description)

Exit Function

End If

objRegExp.Pattern = “^\s*SSID\s*:\s*”

objRegExp.IgnoreCase = True

Dim line : For Each line In arrLines

If objRegExp.Test(line) Then

If GetSSID <> “” Then GetSSID = GetSSID & “,”

GetSSID = GetSSID & objRegExp.Replace(line,””)

End If

Next

Set objRegExp = Nothing

End Function

La función básicamente realiza las siguientes tareas (no en el orden exacto que se muestra a continuación):

1) Crea diversos objetos tipo clase VBScript.

2) Utiliza la línea de comandos: “cmd /c netsh.exe wlan show interfaces 1” (ver más abajo) para retornar la información del sistema inalámbrico a una variable y escribe la información en un archivo de texto temporal ubicado en el directorio raíz del proyecto.

3) Analiza cada línea para encontrar el “SSID” y muestra ese valor en un cuadro de mensaje.

4) Elimina el archivo temporal.

5) Utiliza diversos controles de error a lo largo de la operación de la función.

Tenga en cuenta que las propiedades de diversos objetos tipo clase de Sistema y de Archivos se utilizan, y puede requerir un poco de experiencia de programación avanzada en VB Scripting con la finalidad de comprender plenamente el funcionamiento de esta función. Microsoft tiene una página web útil que te puede llevar a través de algunas de las funcionalidades utilizadas dentro de esta función y de la aplicación ejemplo.

Comments are closed.