導航:首頁 > 異常信息 > vb可以連接網路嗎

vb可以連接網路嗎

發布時間:2023-01-24 22:14:06

㈠ 在vb中連接網路

如果你知道連接的名稱,例如「連接到163」或「ADSL」,那麼這段程序就可以運行了,不過你可不能保證你的用戶機器上有同樣的連接名稱,所以還必須要使用一段API函數來枚舉所有的可用撥號連接名稱才行。

新建一個VB Project,在Form1中做以下聲明:

Private Const RAS_MaxDeviceType = 16
Private Const RAS95_MaxDeviceName = 128
Private Const RAS95_MaxEntryName = 256
Private Type RASCONN95
dwSize As Long
hRasConn As Long
szEntryName(RAS95_MaxEntryName) As Byte
szDeviceType(RAS_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type
Private Type RASENTRYNAME95
dwSize As Long
szEntryName(RAS95_MaxEntryName) As Byte
End Type
Private Declare Function RasEnumConnections Lib "RasApi32.DLL" Alias "RasEnumConnectionsA" (lprasconn As Any, lpcb As Long, lpcConnections As Long) As Long
Private Declare Function RasEnumEntries Lib "RasApi32.DLL" Alias "RasEnumEntriesA" (ByVal reserved As String, ByVal lpszPhonebook As String, lprasentryname As Any, lpcb As Long, lpcEntries As Long) As Long
Private Declare Function RasHangUp Lib "rasapi32.dll" Alias _
"RasHangUpA" (ByVal hRasConn As Long) As Long

在Form上放一個ListBox或者ComboBox,然後在Form_Load中寫入以下代碼把當前可用的撥號連接名稱加進去,這里我們使用ListBox。

Private Sub Form_Load()
Dim s As Long, l As Long, ln As Long, a$
ReDim R(255) As RASENTRYNAME95

R(0).dwSize = 264
s = 256 * R(0).dwSize
l = RasEnumEntries(vbNullString, vbNullString, R(0), s, ln)
For l = 0 To ln - 1
a$ = StrConv(R(l).szEntryName(), vbUnicode)
List1.AddItem Left$(a$, InStr(a$, Chr$(0)) - 1)
Next
List1.ListIndex = 0
End Sub

好,現在你就可以運行一下了,ListBox中應該把當前所有的撥號連接名稱都顯示出來了。

下面再往Form上加一個命令按鈕,Caption設為「Connect」。輸入以下代碼:

Private Sub Command1_Click()
Dim cmd As String
cmd = "rundll rnaui.dll,RnaDial " & List1.List(List1.ListIndex)
Shell cmd$, vbNormalFocus
End Sub

這段程序從ListBox獲得選擇的撥號連接名稱,然後調用RunDLL建立撥號連接。如果已經建立連接,它將顯示撥號連接的狀態。如果你不想讓對話框出現,再添一行代碼上去:

DoEvents:SendKeys "{enter}", True

它將發送一個回車鍵到當前窗口,相當於用戶按了「確認」按鈕。

如何掛斷當前的連接

我們繼續在上面的基礎上講解,掛斷連接要用到RasHangUp函數,我們在上面聲明部分已經寫過了。

再向Form1添加一個按鈕Command2,Caption設為Disconnect,輸入如下的代碼:

Private Sub Command2_Click()
Dim s As Long, l As Long, ln As Long, a$, RasConn As Long, Ret As Long

b$ = List1.List(List1.ListIndex)
ReDim R(255) As RASCONN95

R(0).dwSize = 412
s = 256 * R(0).dwSize
l = RasEnumConnections(R(0), s, ln)
For l = 0 To ln - 1
a$ = StrConv(R(l).szEntryName(), vbUnicode)
a$ = Left$(a$, InStr(a$, Chr$(0)) - 1)
RasConn = R(l).hRasConn
'這里將掛斷連接
Ret = RasHangUp(ByVal RasConn)
Next
End Sub

這段代碼枚舉當前所有的連接,並且把它掛斷,如果你有雙貓,三貓(沒有這么好的條件吧),它將把所有連接都掛斷。

如何判斷當前是否連接到Internet

以前部分網站介紹過讀取Registry來判斷是否連接到Internet的方法,不過筆者認為這種方法不是最健壯,這里還是在上面的基礎上用RasEnumConnections來判斷某個連接是否已經連上線了。

再向Form1添加一個按鈕Command3,Caption設為Status,輸入如下的代碼:

Private Sub Command2_Click()
Dim s As Long, l As Long, ln As Long, a$, b$

b$ = List1.List(List1.ListIndex)
ReDim R(255) As RASCONN95

R(0).dwSize = 412
s = 256 * R(0).dwSize
l = RasEnumConnections(R(0), s, ln)
For l = 0 To ln - 1
a$ = StrConv(R(l).szEntryName(), vbUnicode)
a$ = Left$(a$, InStr(a$, Chr$(0)) - 1)
If a$ = b$ Then MsgBox "Connected (or connecting)!": Exit Sub
Next
MsgBox "Not Connected!"
End Sub

本段代碼判斷ListBox當前選中的連接是否已經連接成功或者正在連接之中,並給出相應的信息。

㈡ 我編寫的vb,想實現連接網路的功能,要用到什麼控制項和函數

用winsock控制項可以實現通過TCP/UDP連接其他網路程序並進行通訊的功能
用internet transfer control控制項可以實現通過HTTP/FTP連接相關伺服器並通訊的功能

以上兩個控制項的具體用法可以參考《VB6.0 控制項參考手冊》(上、下)

㈢ VB中的網路連接問題

用winsock 控制項啊,老牌子東西了。(在部件里自己添加)

做兩個工程,各一個窗體,各添加一個winsock,用TCP方式連接,

A窗體:
winsockA.localip=192.168.18.15
winsockA.localport=1000

B窗體:
winsockB.remotehost=192.168.18.15(或218.75.146.123)
winsockB.remoteport=1000

具體一點請搜索 "vb 網路編程" "VB winsock " 等

㈣ vb中連接網路

如果你知道連接的名稱,例如「連接到163」或「ADSL」,那麼這段程序就可以運行了,不過你可不能保證你的用戶機器上有同樣的連接名稱,所以還必須要使用一段API函數來枚舉所有的可用撥號連接名稱才行。
新建一個VB
Project,在Form1中做以下聲明:
Private
Const
RAS_MaxDeviceType
=
16
Private
Const
RAS95_MaxDeviceName
=
128
Private
Const
RAS95_MaxEntryName
=
256
Private
Type
RASCONN95
dwSize
As
Long
hRasConn
As
Long
szEntryName(RAS95_MaxEntryName)
As
Byte
szDeviceType(RAS_MaxDeviceType)
As
Byte
szDeviceName(RAS95_MaxDeviceName)
As
Byte
End
Type
Private
Type
RASENTRYNAME95
dwSize
As
Long
szEntryName(RAS95_MaxEntryName)
As
Byte
End
Type
Private
Declare
Function
RasEnumConnections
Lib
"RasApi32.DLL"
Alias
"RasEnumConnectionsA"
(lprasconn
As
Any,
lpcb
As
Long,
lpcConnections
As
Long)
As
Long
Private
Declare
Function
RasEnumEntries
Lib
"RasApi32.DLL"
Alias
"RasEnumEntriesA"
(ByVal
reserved
As
String,
ByVal
lpszPhonebook
As
String,
lprasentryname
As
Any,
lpcb
As
Long,
lpcEntries
As
Long)
As
Long
Private
Declare
Function
RasHangUp
Lib
"rasapi32.dll"
Alias
_
"RasHangUpA"
(ByVal
hRasConn
As
Long)
As
Long
在Form上放一個ListBox或者ComboBox,然後在Form_Load中寫入以下代碼把當前可用的撥號連接名稱加進去,這里我們使用ListBox。
Private
Sub
Form_Load()
Dim
s
As
Long,
l
As
Long,
ln
As
Long,
a$
ReDim
R(255)
As
RASENTRYNAME95
R(0).dwSize
=
264
s
=
256
*
R(0).dwSize
l
=
RasEnumEntries(vbNullString,
vbNullString,
R(0),
s,
ln)
For
l
=
0
To
ln
-
1
a$
=
StrConv(R(l).szEntryName(),
vbUnicode)
List1.AddItem
Left$(a$,
InStr(a$,
Chr$(0))
-
1)
Next
List1.ListIndex
=
0
End
Sub
好,現在你就可以運行一下了,ListBox中應該把當前所有的撥號連接名稱都顯示出來了。
下面再往Form上加一個命令按鈕,Caption設為「Connect」。輸入以下代碼:
Private
Sub
Command1_Click()
Dim
cmd
As
String
cmd
=
"rundll
rnaui.dll,RnaDial
"
&
List1.List(List1.ListIndex)
Shell
cmd$,
vbNormalFocus
End
Sub
這段程序從ListBox獲得選擇的撥號連接名稱,然後調用RunDLL建立撥號連接。如果已經建立連接,它將顯示撥號連接的狀態。如果你不想讓對話框出現,再添一行代碼上去:
DoEvents:SendKeys
"{enter}",
True
它將發送一個回車鍵到當前窗口,相當於用戶按了「確認」按鈕。
如何掛斷當前的連接
我們繼續在上面的基礎上講解,掛斷連接要用到RasHangUp函數,我們在上面聲明部分已經寫過了。
再向Form1添加一個按鈕Command2,Caption設為Disconnect,輸入如下的代碼:
Private
Sub
Command2_Click()
Dim
s
As
Long,
l
As
Long,
ln
As
Long,
a$,
RasConn
As
Long,
Ret
As
Long
b$
=
List1.List(List1.ListIndex)
ReDim
R(255)
As
RASCONN95
R(0).dwSize
=
412
s
=
256
*
R(0).dwSize
l
=
RasEnumConnections(R(0),
s,
ln)
For
l
=
0
To
ln
-
1
a$
=
StrConv(R(l).szEntryName(),
vbUnicode)
a$
=
Left$(a$,
InStr(a$,
Chr$(0))
-
1)
RasConn
=
R(l).hRasConn
'這里將掛斷連接
Ret
=
RasHangUp(ByVal
RasConn)
Next
End
Sub
這段代碼枚舉當前所有的連接,並且把它掛斷,如果你有雙貓,三貓(沒有這么好的條件吧),它將把所有連接都掛斷。
如何判斷當前是否連接到Internet
以前部分網站介紹過讀取Registry來判斷是否連接到Internet的方法,不過筆者認為這種方法不是最健壯,這里還是在上面的基礎上用RasEnumConnections來判斷某個連接是否已經連上線了。
再向Form1添加一個按鈕Command3,Caption設為Status,輸入如下的代碼:
Private
Sub
Command2_Click()
Dim
s
As
Long,
l
As
Long,
ln
As
Long,
a$,
b$
b$
=
List1.List(List1.ListIndex)
ReDim
R(255)
As
RASCONN95
R(0).dwSize
=
412
s
=
256
*
R(0).dwSize
l
=
RasEnumConnections(R(0),
s,
ln)
For
l
=
0
To
ln
-
1
a$
=
StrConv(R(l).szEntryName(),
vbUnicode)
a$
=
Left$(a$,
InStr(a$,
Chr$(0))
-
1)
If
a$
=
b$
Then
MsgBox
"Connected
(or
connecting)!":
Exit
Sub
Next
MsgBox
"Not
Connected!"
End
Sub
本段代碼判斷ListBox當前選中的連接是否已經連接成功或者正在連接之中,並給出相應的信息。

㈤ vb如何連接WiFi

計算機連接wifi,
vb用winsock連接網路。

㈥ vb系統可以實現連網嗎

vb系統可以實現連網在現在的軟體開發中至今還沒有可以實現聯網功能,有望將來實現,讓我們共同期待.

㈦ VB如何連接網路資料庫

在工程里找到Microsoft ADO Data Control控制項,拖到窗體上,事件中這么寫:
Private Sub Coammand1_Click()
Adodc1.connectionstring="Driver={SQL Server};Server=伺服器IP;Uid=用戶名;Pwd=密碼;DataBse=資料庫名"
Adodc1.RecordSource="SELECT * FROM 表名 WHERE 條件"
Adodc1.Refrsh
End Sub
要進行數據操作就這樣引用:
Adodc1.RecordSet.Fields("欄位名")這就是操作數據欄位
把Adodc1綁定到數據控制項那就是綁定數據源

閱讀全文

與vb可以連接網路嗎相關的資料

熱點內容
網路共享中心沒有網卡 瀏覽:494
電腦無法檢測到網路代理 瀏覽:1350
筆記本電腦一天會用多少流量 瀏覽:477
蘋果電腦整機轉移新機 瀏覽:1349
突然無法連接工作網路 瀏覽:962
聯通網路怎麼設置才好 瀏覽:1193
小區網路電腦怎麼連接路由器 瀏覽:934
p1108列印機網路共享 瀏覽:1187
怎麼調節台式電腦護眼 瀏覽:604
深圳天虹蘋果電腦 瀏覽:841
網路總是異常斷開 瀏覽:584
中級配置台式電腦 瀏覽:896
中國網路安全的戰士 瀏覽:606
同志網站在哪裡 瀏覽:1380
版觀看完整完結免費手機在線 瀏覽:1432
怎樣切換默認數據網路設置 瀏覽:1081
肯德基無線網無法訪問網路 瀏覽:1255
光纖貓怎麼連接不上網路 瀏覽:1377
神武3手游網路連接 瀏覽:938
局網列印機網路共享 瀏覽:976