在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

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

運用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環境下編譯通過。

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

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 成人黄色一级大片| 男人草女人视频| 青青草原成人网| www.射射射| 精品国偷自产一区二区三区| 一区二区三区四区久久| 中文字幕剧情在线观看| 污污视频在线免费| 青青草影院在线观看| 色一情一乱一乱一区91| 欧美大黑帍在线播放| 黄色一级片在线看| 动漫av网站免费观看| 992kp快乐看片永久免费网址| 日本xxxxxxx免费视频| 国产高清视频网站| 色婷婷激情视频| 欧美国产日韩激情| 日韩精品一区二区三区久久| 91av俱乐部| 国产又大又长又粗又黄| 无码人妻aⅴ一区二区三区日本| 男女h黄动漫啪啪无遮挡软件| 国产专区在线视频| 97在线播放视频| 在线观看免费视频污| 青草视频在线观看视频| 国产视频一区二区视频| 三年中文高清在线观看第6集| 久久99久久99精品| 五月激情五月婷婷| 给我免费播放片在线观看| 激情综合网俺也去| 污污污污污污www网站免费| 亚洲人成无码www久久久| 久久综合在线观看| 茄子视频成人免费观看| 欧美a级黄色大片| 一级特黄性色生活片| 久久亚洲国产成人精品无码区| 草草草在线视频| 欧美视频在线观看视频| 色噜噜狠狠一区二区| 精品少妇人妻av免费久久洗澡| 国产色视频在线播放| 男人天堂av片| 尤物网站在线看| 成人综合久久网| 成人性做爰aaa片免费看不忠| 大胆欧美熟妇xx| 丰满女人性猛交| 奇米影视四色在线| 热久久精品国产| 四虎永久在线精品无码视频| www.国产二区| gogogo免费高清日本写真| 日本xxxxxxx免费视频| 欧美色图色综合| av日韩一区二区三区| 天天想你在线观看完整版电影免费| 欧美性猛交xxx乱久交| 日韩在线xxx| 波多野结衣家庭教师视频| 欧美亚洲黄色片| 成人午夜视频在线观看免费| 久久最新免费视频| 99亚洲精品视频| 免费久久久久久| 国产一区二区三区播放| 影音先锋成人资源网站| 黄色特一级视频| 成人av在线播放观看| 久久精品xxx| 日本一道本久久| 欧美一级黄色影院| 高潮一区二区三区| 伊人成人免费视频| 黄网站色视频免费观看| 成人免费网站入口| 国产麻花豆剧传媒精品mv在线| 国产精品亚洲二区在线观看| 苍井空浴缸大战猛男120分钟| 日日摸天天爽天天爽视频| 午夜宅男在线视频| 成人午夜视频免费观看| 久久国产亚洲精品无码| 天天色综合天天色| 青青视频免费在线观看| 国产精品一线二线三线| 欧美日韩亚洲第一| 亚洲成人手机在线观看| 日韩亚洲欧美视频| 五月婷婷狠狠操| 麻豆视频传媒入口| 茄子视频成人免费观看| 欧美日韩久久婷婷| 久久久久久久激情| 精品少妇人妻av一区二区| 日韩国产一级片| 亚洲精品乱码久久久久久动漫| av女优在线播放| 久久婷婷中文字幕| av免费网站观看| 毛片在线视频观看| 午夜免费福利视频在线观看| 黑人巨茎大战欧美白妇| 一区二区三区 欧美| 国产无限制自拍| aaaaaaaa毛片| 国产福利在线免费| 情侣黄网站免费看| 国产av麻豆mag剧集| 91成人在线视频观看| 国产福利在线免费| 日本www高清视频| 日日橹狠狠爱欧美超碰| www国产无套内射com| 日韩成人av免费| www.com黄色片| 国产精品少妇在线视频| 福利视频一区二区三区四区| 日本免费在线视频观看| 亚洲欧美手机在线| 亚洲精品怡红院| 十八禁视频网站在线观看| 黄色片网址在线观看| 日本天堂免费a| 国产成人一二三区| 天堂av在线中文| 日本道在线视频| 欧美性受xxxx黑人猛交88| 午夜av中文字幕| 手机在线免费毛片| 在线观看视频在线观看| 日本一二三四区视频| 国产高清av片| 国产a级片免费看| 黄色a级片免费看| 六月婷婷激情综合| 欧美 日韩 国产 高清| 国产a级片网站| 欧美精品99久久| 91在线视频观看免费| 久久久精品麻豆| 麻豆中文字幕在线观看| 国产内射老熟女aaaa| 国产一区二区视频播放| 久久9精品区-无套内射无码| 九色在线视频观看| 波多野结衣天堂| 久久av秘一区二区三区| 天堂8在线天堂资源bt| 久久美女福利视频| 久久久精品视频国产| 成人午夜免费在线视频| 精品99在线视频| 在线观看av免费观看| 99在线免费视频观看| 99热成人精品热久久66| 亚洲男人天堂2021| 国产素人在线观看| wwwwwxxxx日本| 91午夜在线观看| 三级av免费观看| 99色这里只有精品| 中文字幕22页| 欧美 日韩 激情| 中文字幕在线乱| 国产wwwxx| 人妻少妇精品无码专区二区 | 欧美特级aaa| 日本大片免费看| 日韩精品你懂的| 日本一本中文字幕| 色呦色呦色精品| 色诱视频在线观看| 波多野结衣 作品| 午夜av中文字幕| 午夜精品久久久久久久无码| 婷婷中文字幕在线观看| 北条麻妃在线一区| 免费国产a级片| 97超碰国产精品| 亚洲av综合色区| eeuss中文| 亚洲精品永久视频| 亚洲老女人av| 久久久国产欧美| 久久精品网站视频| 久久精品一区二| 妞干网在线观看视频| 欧美这里只有精品| 日韩欧美视频免费在线观看| 蜜臀一区二区三区精品免费视频| 无码人妻h动漫| a在线视频观看| 激情深爱综合网| 国产精品国产亚洲精品看不卡| 国产欧美自拍视频| 久久久久久久久久久综合|