国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

運用RAS調用在VB6.0中完成撥號上網

運用RAS調用在VB6.0中完成撥號上網

更新時間:2022-05-13 文章作者:未知 信息來源:網絡 閱讀次數:

我們常用的軟件如:JETCAR(現在為FLASHGET),GO!ZILLA等都具有撥號上網功能。那么,如何在自己編寫的應用程序中也實現上述的功能呢?本文就利用RAS調用介紹在自己編寫的應用程序如何實現撥號上網。

  一.與撥號網絡有關的結構和函數

  1.RASDIALPARAMS95結構.其定義如下:

Public Type RASDIALPARAMS95
 dwSize As Long
 szEntryName(RAS95_MaxEntryName) As Byte
 szPhoneNumber(RAS95_MaxPhoneNumber) As Byte
 szCallbackNumber(RAS95_MaxCallbackNumber) As Byte
 szUserName(UNLEN) As Byte
 szPassword(PWLEN) As Byte
 szDomain(DNLEN) As Byte
End Type

  其中,dwSize表示該結構的大小(以字節為單位)。szEntryName表示一個遠程訪問的入口名,也就是WINDOWS下的撥號網絡中的連接圖標小的文字;szEntryName參數可是是空串,表示僅與第一個有效的MODEM建立遠程連接。szPhoneNumber為表示呼叫的號碼。當szEntryName是空時,zPhoneNumber不能為空。szCallbackNumber表示回叫號碼,一般都設為空。szUserName為建立遠程訪問的用戶名。szPassword為建立遠程訪問的密碼。szDomain為進行遠程訪問用戶名和密碼認證的域名。我們將szDomain設為空,表示遠程訪問的服務器也是該域名下的成員。

  2.RASDIAL函數.其API聲明為:

Public Declare Function RasDial Lib "RasApi32.DLL" Alias "RasDialA" (lpRasDialExtensions As Any, ByVal lpszPhonebook As String, lprasdialparams As Any, ByVal dwNotifierType As Long, lpvNotifier As Long, lphRasConn As Long) As Long

  RASDIAL函數用于建立RAS客戶機和RAS服務器的連接。

  各參數解釋如下:

   lpRasDialExtensions參數在WINDOWS95/98下被忽略。

   lpszPhonebook參數在WINDOWS95/98下也被忽略。

   lprasdialparams參數是指向一個含有RAS連接參數值的RASDIALPARAMS結構變量。

  dwNotifierType參數用于指出參數lpvNotifier的性質。若lpvNotifier 為NULL,則dwNotifierType的值被忽略;若lpvNotifier不為NULL,則dwNotifierType應該為下列值之一:

  (1).0XFFFFFFFF------指出lpvNotifier參數是一個接收進程通知消息的窗口句柄;

  (2).0----------------指出lpvNotifier指向一個RASDIALFUNC回調函數;

  (3).1----------------指出lpvNotifier指向下一個RASDIALFUNC1回調函數。

  lpvNotifier參數用于指向一個接收RASDIAL事件通知的窗口或者回調函數,其性質由dwNotifierType參數決定:

  (1).若lpvNotifier不NULL,表示是異步通信。即RASDIAL會對每個事件發送一個窗口消息或者調用回調函數。RASDIAL函數會立即返回,它通過窗口或者調用回調函數建立連接,與進程通信。

  (2).若lpvNotifier是NULL,表示同步通信。即RASDIAL函數在連接建立完成或者失敗后才會返回。

  lphRasConn參數指向HRASCONN變量,必須先將lphRasConn設置為NULL,然后再調用RASDIAL函數。如果RASDIAL函數調用成功,lphRasconn會放置一個RAS連接句柄。

  3.RASHANGUP函數.其API聲明為:

Public Declare Function RasHangUp Lib "RasApi32.DLL" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long

  RASHANGUP函數用于斷開一個RAS連接。其參數hRasConn為指向一個RAS連接的句柄。

  二.用VB6.0實現RAS撥號上網過程。

  新建一個工程,取名為RasDial;然后在該工程中加入如下項目:

  1.新建一個窗體Form1,然后在該窗體中加入如下組件:





   ("連接"按鈕取名為Ras_Dial,"掛斷"按鈕取名為:Ras_HangUp,"退出"按鈕取名為:"Cancel".

   3個文本框分別取名為:PhoneNumber,UserName,PassWord.)
2.雙擊連接按鈕,加入如下代碼:

Private Sub Ras_Dial_Click()
Dim temp As Long
If PhoneNumber.Text = "" Or UserName.Text = "" Or PassWord.Text = "" Then
temp = MsgBox("您沒有輸入有效的撥號網絡參數。", vbOKOnly, "錯誤")
Exit Sub
End If
temp = AddConnection("", PhoneNumber.Text, "", UserName.Text, PassWord.Text, "")
Select Case temp
Case ERROR_PORT_ALREADY_OPEN: temp = MsgBox("錯誤,端口已經打開!", vbOKOnly, "Error")
Case ERROR_UNKNOWN: temp = MsgBox("未知的錯誤!", vbOKOnly, "Error")
Case ERROR_REQUEST_TIMEOUT: temp = MsgBox("錯誤,請求超時!", vbOKOnly, "Error")
Case ERROR_PASSWD_EXPIRED: temp = MsgBox("錯誤,您沒有輸入密碼!", vbOKOnly, "Error")
Case ERROR_NO_DIALIN_PERMISSION: temp = MsgBox("錯誤,沒有撥號音!", vbOKOnly, "Error")
Case ERROR_SERVER_NOT_RESPONDING: temp = MsgBox("錯誤,撥入的遠程計算機沒有響應!", vbOKOnly, "Error")
Case ERROR_UNRECOGNIZED_RESPONSE: temp = MsgBox("錯誤,未知的響應!", vbOKOnly, "Error")
Case ERROR_NO_RESPONSES: temp = MsgBox("錯誤,沒有響應!", vbOKOnly, "Error")
Case ERROR_DEVICE_NOT_READY: temp = MsgBox("錯誤,設備沒有準備好!", vbOKOnly, "Error")
Case ERROR_LINE_BUSY: temp = MsgBox("錯誤,占線!", vbOKOnly, "Error")
Case ERROR_NO_ANSWER: temp = MsgBox("錯誤,沒有應答信號!", vbOKOnly, "Error")
Case ERROR_NO_CARRIER: temp = MsgBox("錯誤,沒有載波信號!", vbOKOnly, "Error")
Case ERROR_NO_DIALTONE: temp = MsgBox("錯誤,沒有撥號音!", vbOKOnly, "Error")
Case ERROR_AUTHENTICATION_FAILURE: temp = MsgBox("用戶名密碼出錯!", vbOKOnly, "Error")
Case ERROR_PPP_TIMEOUT: temp = MsgBox("PPP接入超時。", vbOKOnly, "Error")
End Select
End Sub
3.雙擊掛斷按鈕,加入如下代碼:
Private Sub Ras_HangUp_Click()
Dim temp As Long
temp = RasHangUp(hRasConn)
End Sub
4.雙擊退出按鈕,加入如下代碼:
Private Sub Cancel_Click()
Unload Me
End Sub
5.最后,新建一個模塊,取名為Ras_Dial,加入如下代碼:
Option Explicit
Public hRasConn As Long '定義一個指向RAS調用的全局句柄
Public Const APINULL = 0&
Public Const UNLEN = 256
Public Const DNLEN = 15
Public Const PWLEN = 256
Public Const RAS95_MaxPhoneNumber = 128
Public Const RAS95_MaxEntryName = 256
Public Const RAS95_MaxCallbackNumber = RAS95_MaxPhoneNumber
Public Type RASDIALPARAMS95
dwSize As Long
szEntryName(RAS95_MaxEntryName) As Byte
szPhoneNumber(RAS95_MaxPhoneNumber) As Byte
szCallbackNumber(RAS95_MaxCallbackNumber) As Byte
szUserName(UNLEN) As Byte
szPassword(PWLEN) As Byte
szDomain(DNLEN) As Byte
End Type
'**********************************
'* RAS調用錯誤代號 *
'**********************************
Public Const NOT_SUPPORTED = 120&
Public Const RASBASEERROR = 600&
Public Const SUCCESS = 0&
Public Const ERROR_PORT_ALREADY_OPEN = (RASBASEERROR + 2)
Public Const ERROR_UNKNOWN = (RASBASEERROR + 35)
Public Const ERROR_REQUEST_TIMEOUT = (RASBASEERROR + 38)
Public Const ERROR_PASSWD_EXPIRED = (RASBASEERROR + 48)
Public Const ERROR_NO_DIALIN_PERMISSION = (RASBASEERROR + 49)
Public Const ERROR_SERVER_NOT_RESPONDING = (RASBASEERROR + 50)
Public Const ERROR_UNRECOGNIZED_RESPONSE = (RASBASEERROR + 52)
Public Const ERROR_NO_RESPONSES = (RASBASEERROR + 60)
Public Const ERROR_DEVICE_NOT_READY = (RASBASEERROR + 66)
Public Const ERROR_LINE_BUSY = (RASBASEERROR + 76)
Public Const ERROR_NO_ANSWER = (RASBASEERROR + 78)
Public Const ERROR_NO_CARRIER = (RASBASEERROR + 79)
Public Const ERROR_NO_DIALTONE = (RASBASEERROR + 80)
Public Const ERROR_AUTHENTICATION_FAILURE = (RASBASEERROR + 91)
Public Const ERROR_PPP_TIMEOUT = (RASBASEERROR + 118)
'**********************************
'* RAS API 聲明 *
'**********************************
Public Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (lpString1 As Any, ByVal lpString2 As String) As Long
Public Declare Function RasDial Lib "RasApi32.DLL" Alias "RasDialA" (lpRasDialExtensions As Any, ByVal lpszPhonebook As String, lprasdialparams As Any, ByVal dwNotifierType As Long, lpvNotifier As Long, lphRasConn As Long) As Long
Public Declare Function RasHangUp Lib "RasApi32.DLL" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long
Public Function AddConnection(strNewEntryName As String, strNewPhoneNumber As String, strNewCallbackNumber As String, strNewUsername As String, strNewPassword As String, strNewDomain As String) As Integer

Dim lngRetCode As Long
Dim lngRetLstrcpy As Long
Dim lngRetHangUp As Long
Dim lprasdialparams As RASDIALPARAMS95
lprasdialparams.dwSize = 1052 '在WINDOWS95/98中必須將dwSize設為1052
'利用lstrcpy函數將字符串拷貝到BYTE數組
lngRetLstrcpy = lstrcpy(lprasdialparams.szEntryName(0), strNewEntryName)
lngRetLstrcpy = lstrcpy(lprasdialparams.szPhoneNumber(0), strNewPhoneNumber)
lngRetLstrcpy = lstrcpy(lprasdialparams.szCallbackNumber(0), strNewCallbackNumber)
lngRetLstrcpy = lstrcpy(lprasdialparams.szUserName(0), strNewUsername)
lngRetLstrcpy = lstrcpy(lprasdialparams.szPassword(0), strNewPassword)
lngRetLstrcpy = lstrcpy(lprasdialparams.szDomain(0), strNewDomain)
'我們使用同步通信
Screen.MousePointer = vbHourglass
hRasConn = 0 '
lngRetCode = RasDial(ByVal APINULL, vbNullString, lprasdialparams, APINULL, ByVal APINULL, hRasConn)
Screen.MousePointer = vbDefault
'測試有沒有錯誤
If lngRetCode Then
lngRetHangUp = RasHangUp(hRasConn)
End If
AddConnection = lngRetCode
End Function
Public Sub RemoveConnection(H_RasConn As Long)
Call RasHangUp(hRasConn)
End Sub

  6.最后,編譯生成應用程序,我們就實現了在自己的應用程序中撥號上網。本程序在PWIN98,VB6.0環境下編譯通過。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        亚洲在线视频一区| 日日夜夜一区二区| 午夜精品福利在线| 色婷婷狠狠综合| 亚洲国产视频在线| 日韩欧美国产精品一区| 国产一区二区在线观看视频| 国产情人综合久久777777| 成人h版在线观看| 亚洲综合成人在线| 91精品国产91久久久久久最新毛片| 日韩精品乱码免费| 国产精品灌醉下药二区| 欧美日韩精品一区二区在线播放| 美日韩一区二区三区| 国产午夜一区二区三区| 欧美综合在线视频| 国产精品1024久久| 婷婷丁香久久五月婷婷| 国产区在线观看成人精品| 91极品视觉盛宴| 国产成人av电影| 日本va欧美va瓶| 伊人一区二区三区| 国产午夜亚洲精品理论片色戒| 在线观看视频一区二区| 国内外精品视频| 亚洲一区二区三区四区的| 亚洲精品在线观| 在线91免费看| 欧美性xxxxxx少妇| 91亚洲国产成人精品一区二区三| 久久99精品国产.久久久久久| 亚洲日本在线天堂| 亚洲国产高清aⅴ视频| 欧美大片一区二区| 91精品国产欧美一区二区| 在线观看一区不卡| 99久久综合色| 不卡av电影在线播放| 国产激情视频一区二区在线观看 | 亚洲综合色区另类av| 国产欧美日韩精品一区| 精品国精品国产| 日韩一区二区免费在线电影| 欧美三级一区二区| 欧美日韩另类一区| 欧美日韩成人高清| 欧美日韩一区高清| 欧美中文一区二区三区| 色丁香久综合在线久综合在线观看| 国产成a人亚洲精品| 国产成人啪免费观看软件| 国产精品123区| 成人理论电影网| 亚洲精品免费在线播放| 欧美日韩一区小说| 综合久久综合久久| 玖玖九九国产精品| 亚洲美女视频在线| 亚洲精品一二三| 一区二区高清在线| 亚洲电影第三页| 日本不卡不码高清免费观看 | 欧美精品vⅰdeose4hd| 欧美日韩国产在线播放网站| 欧美三级中文字幕| 日韩一级片在线播放| 精品黑人一区二区三区久久| 日韩久久久精品| 国产片一区二区| 日韩理论片在线| 亚洲五码中文字幕| 激情综合色综合久久| 国产精品系列在线观看| 99精品视频免费在线观看| 在线免费亚洲电影| 欧美一区二区二区| 中文字幕欧美日本乱码一线二线| 欧美国产日韩亚洲一区| 亚洲精品美国一| 日韩专区中文字幕一区二区| 国产一区二三区| 色婷婷综合视频在线观看| 欧美三片在线视频观看| 日韩精品一区二| 亚洲女同ⅹxx女同tv| 麻豆成人久久精品二区三区红 | 亚洲地区一二三色| 日本亚洲电影天堂| 成人av中文字幕| 日韩亚洲欧美在线| 亚洲天堂免费在线观看视频| 日韩和欧美一区二区三区| 国产美女久久久久| 日本乱人伦aⅴ精品| 久久蜜臀精品av| 午夜激情久久久| 97精品久久久午夜一区二区三区| 欧美精品vⅰdeose4hd| 中文字幕日韩精品一区| 美脚の诱脚舐め脚责91| 91在线云播放| 国产片一区二区| 蜜臀a∨国产成人精品| av日韩在线网站| 欧美videos中文字幕| 亚洲自拍与偷拍| 成人免费视频视频| 2019国产精品| 久久精品国产精品亚洲精品| 欧美少妇性性性| 亚洲乱码日产精品bd| 99久久伊人网影院| 久久久亚洲综合| 美国毛片一区二区三区| 欧美日韩黄色影视| 亚洲一区二区av电影| 91在线免费看| 国产精品成人免费精品自在线观看| 九色|91porny| 欧美成人伊人久久综合网| 偷拍亚洲欧洲综合| 欧美日韩一级大片网址| 一区二区三区国产精华| 在线观看免费一区| 亚洲.国产.中文慕字在线| 欧美三级韩国三级日本一级| 亚洲午夜一二三区视频| 在线视频国内自拍亚洲视频| 亚洲日本丝袜连裤袜办公室| 色综合久久久久综合体| 亚洲少妇最新在线视频| 99久久夜色精品国产网站| 国产精品私房写真福利视频| 不卡视频一二三四| 亚洲精品成人少妇| 欧美天堂一区二区三区| 亚洲成人在线网站| 91精品国产欧美日韩| 免费观看在线色综合| 精品处破学生在线二十三| 国产一区二区不卡| 中文字幕国产精品一区二区| 99精品一区二区三区| 一区二区在线观看不卡| 精品视频免费看| 久久精品国产久精国产爱| 国产日本一区二区| 欧美在线高清视频| 麻豆国产欧美日韩综合精品二区 | 日本一区二区免费在线观看视频| 粉嫩13p一区二区三区| 亚洲美女视频一区| 日韩欧美国产综合一区| 风间由美一区二区av101| 一区二区三区久久久| 欧美成人艳星乳罩| 97精品电影院| 奇米888四色在线精品| 久久精品一区二区| 欧美午夜在线观看| 国产精品自拍三区| 亚洲国产成人av好男人在线观看| 日韩欧美国产系列| 91丨九色丨蝌蚪富婆spa| 奇米精品一区二区三区在线观看| 久久这里只精品最新地址| 91免费观看视频在线| 久久国产夜色精品鲁鲁99| 亚洲色欲色欲www| 欧美va日韩va| 欧美日韩免费一区二区三区 | 国产精品高潮久久久久无| 欧美乱熟臀69xxxxxx| 成人sese在线| 精品中文av资源站在线观看| 亚洲欧美一区二区三区极速播放 | 国产夫妻精品视频| 日韩精品视频网站| 亚洲女人小视频在线观看| 久久综合国产精品| 欧美精品日韩精品| 99re热这里只有精品免费视频| 精一区二区三区| 首页国产欧美日韩丝袜| 伊人色综合久久天天| 国产精品成人免费| 国产欧美日韩视频在线观看| 欧美不卡激情三级在线观看| 欧美三级电影在线看| 一本一本大道香蕉久在线精品| 国产激情偷乱视频一区二区三区 | 亚洲一线二线三线视频| 国产视频在线观看一区二区三区 | 欧美高清性hdvideosex| 91影院在线观看| 丁香一区二区三区| 国产精品一二三四区| 国产精品综合av一区二区国产馆|