利用VB進行服務器編程實例匯總_第1頁
利用VB進行服務器編程實例匯總_第2頁
利用VB進行服務器編程實例匯總_第3頁
利用VB進行服務器編程實例匯總_第4頁
利用VB進行服務器編程實例匯總_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、.word 格式 .現(xiàn)在大多數(shù)語言都支持客戶服務器模式編程,其中 VB給我們提供了很好的客戶服 務器編程方式。下面我們用 VB來實現(xiàn) TCPIP 網(wǎng)絡編程。TCPIP 協(xié)議是 Internet 最重要的協(xié)議。 VB提供了 WinSock控件, 用于在 TCPIP 的基礎上進行網(wǎng)絡通信。當兩個應用程序使用 Socket 進行網(wǎng)絡通信時,其中一個必須 創(chuàng)建 Socket 服務器偵聽,而另一個必須創(chuàng)建 Socket 客戶去連接服務器。這樣兩個程序 就可以進行通信了。1創(chuàng)建服務器,首先創(chuàng)建一個服務端口號。并開始偵聽是否有客戶請求連接。建立一窗體,并向其增加一個 Winsock 控件 ( 可在工程菜單中

2、的部件項來添加此控 件) ,添加兩文本框 Text1,Text2, 和一按鈕 Command。1Private Sub Form_Load()SockServer.LocalPort = 2000 服務器端口號 , 最好大于 1000SockServer.Listen 開始偵聽End SubPrivate Sub Form_Unload(Cancel As Integer)SockServer.CloseEnd SubPrivate Sub SockServer_Close()SockServer.CloseEnd SubPrivate Sub SockServer_ConnectionReq

3、uest(ByVal requestID As Long)專業(yè) .專注.word 格式 .SockServer.CloseSockServer.Accept requestID 表示客戶請求連接的 ID 號End Sub當客戶向服務器發(fā)送數(shù)據(jù)到達后 , 產(chǎn)生 DataArrival 事件 , 在事件中接收數(shù) 據(jù) ,GetData 方法接收數(shù)據(jù)。Private Sub SockServer_DataArrival(ByVal bytesTotal As Long)Dim s As StringSockServer.GetData sText1.Text = sEnd Sub當我需要向客戶發(fā)送數(shù)據(jù)

4、時,只需調(diào)用 SendData 方法。Private Sub Command1_Click()SockServer .SendData Text2.TextEnd Sub2創(chuàng)建客戶。要創(chuàng)建客戶連接服務器,首先設置服務器主機名,如IP 地址、域名或計算機名,然后設置服務器端口,最后連接服務器。建立一窗體,并向其增加一個 Winsock 控件 ( 可在工程菜單中的部件項來添加此控 件) ,取名為: SockC1。添加兩文本框 Text1,Text2, 和一按鈕 Command。1專業(yè) .專注.word 格式 .Private Sub Form_Load()SockCl.RemoteHost = 1

5、 表示服務器主機名SockCl.RemotePort = 2000表示服務器端口名SockCl.Connect連接到服務器End SubPrivate Sub Form_Unload(Cancel As Integer)SockCl.CloseEnd SubPrivate Sub SockCl_Close()SockCl.CloseEnd SubPrivate Sub SockCl_DataArrival(ByVal bytesTotal As Long)Dim s As StringSockCl.GetData s 接收數(shù)據(jù)到文本框中Text1.Text = sEnd Sub

6、Private Sub Command1_Click()SockCl.SendData Text2.Text 向服務器發(fā)送數(shù)據(jù)End Sub專業(yè) .專注.word 格式 .3進行通信。把這兩個窗體分別編譯成兩個 EXE文件,服務器 Server.exe 和客戶Client.exe 程序,并把它們分別安裝在服務器端和客戶端,這樣就可以實現(xiàn)兩者通信 了。VB Socket 編程(Winsock 控件創(chuàng)建 TCP/IP客戶機/服務器程序 )Winsock 控件建立在 TCP、UDP協(xié)議的基礎上,完成與遠程計算機的通信。即使對 TCP/IP不太熟悉的用戶,使用該控件也可以在十幾分鐘內(nèi)創(chuàng)建一 個簡單的客

7、戶機 / 服務 器程序。下面我們對 Winsock 控件的事件、方法、屬性按其在程序中出現(xiàn)的順序分別作 詳細的介紹,以便更好地理解程序源代碼。下面是 Winsock 控件的相關屬性,方法和事件。 (略去一些暫用不到的 )*屬性LocalHostName | 本地機器名LocalIP | 本地機器 IP 地址LocalPort | 本地機器通信程序的端口 (0 端口 65536)RemoteHost | 遠程機器名RemotePort | 遠程機器的通信程序端口state | 連接的當前狀態(tài) ( 文后有詳細說明 )Protocal | 使用 TCP或UDP協(xié)議(這里我們選0- sckTCPPro

8、tocal )專業(yè) .專注.word 格式 .方法ListenListen 方法用于服務器程序,等待客戶訪問。格式: Winsock 對象 .listenConnectConnect 方法用于向遠程主機發(fā)出連接請求格式: Winsock對象.connect 遠程主機 IP, 遠程端口AcceptAccept 方法用于接受一個連接請求格式: Winsock對象.accept Request IDSenddata此方法用于發(fā)送數(shù)據(jù)格式: Winsock 對象 .senddata 數(shù)據(jù)Getdata用來取得接收到的數(shù)據(jù)格式: Winsock對象.getdata 變量 , 數(shù)據(jù)類型 , 最大長度 Cl

9、ose關閉當前連接格式: Winsock 對象 .close *事件專業(yè) .專注.word 格式 .Close | 遠程機器關閉連接時觸發(fā)Connect | 連接建立好,可以進行通信時觸發(fā) (客戶端) ConnectRequest | 有請求連接到達時產(chǎn)生 ( 服務器端 ) DataArrival | 有數(shù)據(jù)到達時觸發(fā)Error | 發(fā)生錯誤時發(fā)生SendProgress | 數(shù)據(jù)傳送進度服務器程序的實現(xiàn)過程是:( 1)服務器程序必須設置好 LocalPort 屬性,作為偵聽端口,該值為一個整數(shù)(只要 是一個其它 TCP/IP 應用程序沒有使用過的值即可)。( 2)使用 Listen 方法進入

10、偵聽狀態(tài),等待客戶機程序的連接請求。( 3)客戶機程序發(fā)出連接請求,使服務器程序產(chǎn)生 ConnectionRequest 事件,該事件 得到一個參數(shù) requestID 。( 4)服務器程序用 Accept 方法接受客戶機程序的 requestID 請求。這樣,服務器程序 就可以用 SendData方法發(fā)送數(shù)據(jù)了。 Accept 方法必須用上一步得到的 requestID 作為 其參數(shù)。( 5)當服務器程序接收到數(shù)據(jù)時,產(chǎn)生 DataArrival 事件,參數(shù) BytesTotal 包含接收 到的數(shù)據(jù)字節(jié)數(shù)。在該事件中,可以用 GetData 方法接收數(shù)據(jù)。(6)如果接受到 Close 事件,

11、則用 Close 方法關閉 TCP/IP 連接。 客戶機程序的實現(xiàn)過程是:專業(yè) .專注.word 格式 .(1) 客戶程序設置 Remotehost 屬性,以便指定運行服務器程序的主機 名,該字符串 可在“控制面板 | 網(wǎng)絡|標識| 計算機名”中查到。(2) 設置 RemotePort 屬性, 以便指定服務器程序的偵聽端口。( 3)使用 Connect 方法,向服務器提出連接請求。(4)服務器接受客戶機程序的請求, 客戶機程序產(chǎn)生 Connect 事件,就可以用 SendData 方法發(fā)送數(shù)據(jù)了。( 5)當客戶機程序接收到數(shù)據(jù)時,產(chǎn)生 DataArrival 事件,參數(shù) BytesTotal

12、包含接收 到的數(shù)據(jù)字節(jié)數(shù)。在該事件中,可以用 GetData 方法接收數(shù)據(jù)。( 6)如果接受到 Close 事件,則用 Close 方法關閉連接。Winsock 控件還有兩個重要的屬性, 即 Protocol 和 State 。Protocol 設定使用的協(xié)議是TCP還是 UDP:取值 sckTCPProtocol 表示 TCP, 取值 sckUDPProtocol 則表示 UDP。因為 Winsock 控件的缺省設置是 sckTCPProtocol ,所以程序中并沒有使用 Protocol 屬性。 State 屬性反映的是當前 TCP/IP 的連接狀態(tài),取值如表 1 所示。表 1 Winso

13、ck 控件的 State 屬性及其描述常數(shù) 值 描述SckClosed 0 缺省值,關閉SckOpen 1 打開SckListening 2 偵聽SckConnectionPending 3 連接掛起SckResolvingHost 4 識別主機SckHostResolved 5 已識別主機SckConnecting 6 正在連接專業(yè) .專注.word 格式 .SckConnected 7 已連接SckClosing 8 同級人員正在關閉連接 SckError 9 錯誤 先在一臺計算機上運行服務器程序,此時窗口上只有一個“退出”按鈕。 再在另一臺 計算機上運行客戶機程序, 在“連接”按鈕右邊的

14、文本框中輸入服務器的主機名后單擊 “連接”按鈕。如果連接成功,則服務器和客戶機程序窗口都會出 現(xiàn)兩個文本框。這 時,兩端都可以在上面的文本框中輸入文字,這些文字會立即在下面的文本框中出現(xiàn)。 服務器程序使用的控件如下:( 1)Command:1 退出按鈕;( 2)textsend :發(fā)送數(shù)據(jù)文本框;( 3)Winsockserver : 服務器 Winsock;( 4)textget :接收數(shù)據(jù)文本框。 服務器程序的界面如圖所示。服務器程序的源代碼如下:Private Sub Command1_Click()EndEnd SubPrivate Sub Form_Load() textsend.V

15、isible = False textget.Visible = FalseWinsockserver.LocalPort = 1001Winsockserver.Listen專業(yè) .專注.word 格式 .End SubPrivate Sub textsend_Change()Winsockserver.SendData textsend.TextEnd SubPrivate Sub Winsockserver_Close()Winsockserver.CloseEndEnd SubPrivate Sub Winsockserver_ConnectionRequest(ByVal reque

16、stID As Long) textsend.Visible = Truetextget.Visible = TrueIf Winsockserver.State sckClosed Then Winsockserver.CloseWinsockserver.Accept requestIDEnd SubPrivate Sub Winsockserver_DataArrival(ByVal bytesTotal As Long)Dim tmpstr As StringWinsockserver.GetData tmpstrtextget.Text = tmpstrEnd Sub專業(yè) .專注.w

17、ord 格式 .客戶機程序使用的控件如下:( 1)Command:1 退出按鈕; (2)Command:2 連接按鈕;( 3)Winsockclient :客戶 Winsock;(4)Text1 :主機名文本框;(5)Textsend :發(fā)送數(shù)據(jù)文本框; ( 6)Textget :接收數(shù)據(jù)文本框; 客戶機程序的源代碼如下:Private Sub Command1_Click()EndEnd SubPrivate Sub Command2_Click()Winsockclient.ConnectEnd SubPrivate Sub Form_Load() textsend.Visible = F

18、alse textget.Visible = FalseWinsockclient.RemotePort = 1001Winsockclient.RemoteHost = sccdszEnd SubPrivate Sub Text1_Change()專業(yè) .專注.word 格式 .Winsockclient.RemoteHost = Text1.TextEnd SubPrivate Sub textsend_Change()Winsockclient.SendData textsend.TextEnd SubPrivate Sub Winsockclient_Close()Winsockcli

19、ent.CloseEndEnd SubPrivate Sub winsockclient_Connect()textsend.Visible = Truetextget.Visible = TrueCommand2.Visible = FalseEnd SubPrivate Sub winsockclient_DataArrival(ByVal bytesTotal As Long)Dim tmpstr As StringWinsockclient.GetData tmpstrtextget.Text = tmpstrEnd Sub專業(yè) .專注.word 格式 .1 引言隨著網(wǎng)絡通信的興起與迅

20、速發(fā)展, TCP/IP 協(xié)議已成為計算機網(wǎng)絡中最主要的傳輸協(xié) 議, TCP/IP 傳輸協(xié)議也越來越為人所熟知。目前的 Internet 網(wǎng)就是基于 TCP/IP協(xié)議 的互聯(lián)網(wǎng)絡。 TCP/IP 除了用于廣域外,在局域網(wǎng)中也廣泛應用。TCP 是傳輸控制協(xié)議,它提供了一種可靠的、面向會話連接的數(shù)據(jù)流服務,它可以 在一個分組可能發(fā)生丟失、破壞、重復、延遲和亂序的不可靠物理網(wǎng)絡之上通過確認、 流控、復用同步等自動糾錯技術(shù)提供一種可靠的進程間通信機制,從而充分保證用戶數(shù) 據(jù)傳送的可靠和有序性。使用 TCP協(xié)議通信時, TCP建立并控制數(shù)據(jù)發(fā)送方與接收方的 會話關系,當接收方正確收到數(shù)據(jù)后,必須向發(fā)送方發(fā)

21、送確認信息。如果發(fā)送方在指定 時間內(nèi)未能收到確認信息,將重發(fā)數(shù)據(jù)包。IP 指分組交換協(xié)議, 是聯(lián)網(wǎng)的主機之間定義數(shù)據(jù)包傳送路由的規(guī)則, 它的基本任務 是通過網(wǎng)絡傳送數(shù)據(jù)報,各個 IP 數(shù)據(jù)報之間是相互獨立的。 IP 本身沒有連接協(xié)議,在 交換數(shù)據(jù)前不會建立會話關系。 IP 收到數(shù)據(jù)后也不確認, 發(fā)送方和接收方都不檢測數(shù)據(jù) 傳輸?shù)恼_性。所以僅有 IP 是不可靠的,不能確保正確傳輸數(shù)據(jù)。 TCP與 IP 的組合則 構(gòu)成了功能完整的傳輸協(xié)議。在 TCP/IP 網(wǎng)絡應用中,多數(shù)網(wǎng)絡應用程序是使用客戶 / 服務器模型方式,客戶向服 務器發(fā)出服務請求,服務器作出應答響應,服務器通常在一個眾所周知的地址偵

22、聽客戶 向服務器發(fā)出的請求,服務進程這時一直是處于休眠狀態(tài),直到有一個客戶程序提出連 接請求。服務器作出應答,并為客戶提供相應的服務。客戶 / 服務器模型最重要的特點 是非對等相互作用,客戶與服務器處于不平等的地位。服務器擁有客戶機所不具備的各 種軟硬件資源和運算處理能力,服務器提供服務,客戶請求服務,這種模式適應了網(wǎng)絡 資源、運算能力、信息分布不均等現(xiàn)象,成為 IP 應用的主要模式。 Internet 中的 WW、W FTP、Telnet 、E-mail 等許多典型應用都是采用客戶 / 服務器模型方式。Visual Basic 是 Windows 環(huán)境下簡單、易學、高效的可視化編程語言開發(fā)系

23、統(tǒng),以 其所見即所得的可視化界面設計風格和 32 位面向?qū)ο蟮某绦蛟O計等特點,已廣泛地應 用于各個領域, 是很多計算機軟件開發(fā)人員采用的開發(fā)工具。 VB不但提供了良好的界面 設計能力,而且在網(wǎng)絡通信方面的功能也很強。采用 VB開發(fā)網(wǎng)絡通信應用軟件十分方 便,尤其軟件界面設計非常便捷,編程工作量較小,開發(fā)周期短。Visual Basic6.0中提供了 Winsock 控件,用于支持網(wǎng)絡中兩臺以上計算機之間進行通信。 Winsock 控件提供了多樣化的屬性和方法來實現(xiàn)網(wǎng)絡通信。通過設置 Winsock 控件屬性及調(diào)用控件方法就能夠?qū)崿F(xiàn) TCP或 UDP方式的網(wǎng)絡通信。因此,使用 Winsock專業(yè)

24、 .專注.word 格式 .控件編寫網(wǎng)絡通信程序的過程, 實際上就是設置 Winsock 控件屬性和調(diào)用控件方法的過 程。利用這個控件,編程人員可以輕松地編寫出 TCP/IP 客戶服務器程序。2 Winsock 控件Winsock 控件是不可視控件,它提供了訪問 TCP和 UDP網(wǎng)絡服務非常簡便的途徑, 使編程人員開發(fā)客戶 / 服務器應用程序時,不必了解 TCP的細節(jié)或調(diào)用低級的 WinsockAPIs 函數(shù),只通過設置 Winsock 控件的屬性并調(diào)用其方法,就可直接連接到一 臺遠程計算機進行, 并可實現(xiàn)雙向數(shù)據(jù)交換。 Microsoft Access、Visual Baisc 、Visua

25、l C+或 Visual FoxPro 都可用其編寫客戶服務器程序。如果訪問 TCP傳輸控制協(xié)議服務功能,則須建立連接并實現(xiàn)主機間點對點通信。如 果訪問 UDP數(shù)據(jù)文報協(xié)議功能,則不建立連接,發(fā)送數(shù)據(jù)將以廣播方式上網(wǎng)傳輸。3 TCP/IP 客戶服務器程序設計方法使用 TCP/IP 協(xié)議通訊,首先要指定通信方式為 TCP方式,將 Winsock 控件的 Protocol 屬性設置為 sckTCPProtocol. 然后,按 TCP通信協(xié)議規(guī)定,先要申請建立網(wǎng)絡 連接,然后才能傳輸數(shù)據(jù)。3.1 服務器程序開始偵聽網(wǎng)絡服務器程序窗體中有三個 Winsock 控件, Name分別為 sckServer

26、 、sckBusy 和 sckListen.其中 sckListen 是偵聽控件; sckBusy 是; sckServer 連接控件。偵聽控件和連接 控件不能是同一個 Winsock 控件。服務器程序必須首先偵聽網(wǎng)絡,等待客戶的連接申請,才有可能建立網(wǎng)絡連接。服 務器程序開始偵聽網(wǎng)絡前,需要為偵聽用( sckListen )控件的 LocalPort 屬性設置通 信接口,然后調(diào)用 Listen 方法。服務器程序開始偵聽網(wǎng)絡的程序代碼如下:sckListen.LocalPort=4477 sckListen.Listen 偵聽網(wǎng)絡3.2 客戶程序申請連接 當服務器程序已經(jīng)啟動運行并開始偵聽網(wǎng)絡

27、后,在客戶程序申請連接前,需要為客 戶 Winsock 控件的 RemodeHost屬性設置遠程主機,為 RemodePort 屬性設置通信接口, 然后再調(diào)用 Connect 方法向服務器程序申請連接。設置遠程主機名,可以是計算機名也可是 IP 地址。如果是主機計算機名,則需要 系統(tǒng)翻譯為相應的 IP 地址;如果是主機 IP 地址,則直接進行連接。申請連接的程序代碼如下:專業(yè) .專注.word 格式 .sckClient.Protocol = sckTCPProtocol 設置協(xié)議為 TCP方式IP 地址 代表本機,與本機的實際地址無關 sckClient.RemoteHo

28、st = 設置遠程主機接口號,該值必須與設置遠程主機服務器程序的接口號一致 sckClient.RemotePort = 4477sckClient.Connect 申請連接3.3 服務器程序應答連接請求服務器程序啟動偵聽網(wǎng)絡后,當客戶程序執(zhí)行 Connect 方法申請連接時,服務器程 序的偵聽控件( sckListen )觸發(fā) ConnectionRequest 事件,并傳遞連接請求句柄。編 程人員需要在該當事件程序中調(diào)用連接控件( sckServer )的 Accept 方法實現(xiàn)連接。服務器程序應答連接的程序代碼如下:Private Sub sck

29、Listen_ConnectionRequest(ByVal requestID As Long) sckServer.Accept requestID 應答連接請求 End Sub當服務器程序執(zhí)行 Accept 方法建立連接后, 客戶程序中的接連控件將觸發(fā) Connect 事件通報連接完成,否則觸發(fā) Error 事件通報連接失敗。可以在該事件程序中加入連接 后的處理程序。如果要求服務器程序支持多用戶連接,則需要創(chuàng)建 Winsock 控件數(shù)組,在連接時動 態(tài)生成 Winsock 控件與客戶程序建立連接。程序代碼應修改如下:Private Sub sckListen_ConnectionRequ

30、est(ByVal requestID As Long)Dim i As LongIf CurNumberMaxNumber Then MaxNumber 為最大連接數(shù), CurNumber為當前連接數(shù) For i = 1 To CurNumberIf sckServer(i).State = 0 Then 判斷是否有空閑 Winsock 控件Exit ForEnd IfNext iIf i = CurNumber ThenCurNumber = CurNumber + 1i = CurNumber End If專業(yè) .專注.word 格式 .Load sckServer(i) 動態(tài)加載 Wi

31、nsock 控件 sckServer(i).Accept requestIDExit SubEnd IfsckBusy.Close sckBusy.Accept requestIDEnd Sub3.4 傳送數(shù)據(jù) 當服務器程序和客戶程序連接成功后,可以開始傳送數(shù)據(jù)。建立連接后的服務器程 序和客戶程序都可以發(fā)送或接收數(shù)據(jù)。當一方要發(fā)送數(shù)據(jù)時,調(diào)用SendData 方法。Dim SendStr As String SendStr = 連接成功! Winsock1.SendData SendStr 傳送數(shù)據(jù) 如果一方發(fā)送了數(shù)據(jù),在連接的另一方控件將產(chǎn)生 DataArrival 事件,在DataArri

32、val 事件處理程序中需要調(diào)用 GetData 方法接收數(shù)據(jù)。接收數(shù)據(jù)類型必須與發(fā) 送數(shù)據(jù)的類型一致方可正確接收數(shù)據(jù)。接收數(shù)據(jù)的程序代碼如下:Dim RecStr As String sckClient.GetData RecStrPrint RecStr3.5 關閉連接 當應用程序結(jié)束數(shù)據(jù)傳送后,必須關閉連接,釋放系統(tǒng)資源。當連接的一方關閉連 接時,可以調(diào)用 Close 方法。關閉連接程序代碼如下:sckClient.Close 關閉連接一方執(zhí)行關閉連接后, 在連接的另一方控件將產(chǎn)生 Close 事件。程序需要處理事件, 完成關閉連接的最后工作。該事件的處理代碼如下:Private Sub

33、sckServer_Close() sckServer(Index).Close 釋放接連 Unload sckServer(Index) 刪除控件 End Sub專業(yè) .專注.word 格式 .4 使用 UDP通信方式程序設計方法UDP 用戶報文協(xié)議是一個無連接協(xié)議,與 TCP協(xié)議操作不同, UDP協(xié)議不使用報文 確認機制,不對報文排序,不進行流控,因而 UDP報文可能出現(xiàn)丟失、重復、亂序等現(xiàn) 象,但由于它的前期工作比 TCP少,計算機不建立連接,因而可以迅速地展開通信,一 般用于傳輸少量不重要的數(shù)據(jù)和信息。 Winsock 控件的 UDP通信方式是一種廣播方式, 當 UDP主機發(fā)送數(shù)據(jù)時,

34、 網(wǎng)絡上所有其它主機都能收到數(shù)據(jù), UDP通信比 TCP方式簡單, 由于 UDP不需要連接,所以沒有申請連接和關閉連接的過程。 UDP發(fā)送者忽略接收者是 否實際收到數(shù)據(jù),而接收者也忽略發(fā)送者是否已發(fā)送了數(shù)據(jù)。這使編寫UDP通信方式的網(wǎng)絡程序非常簡單。4.1 設置服務器程序中 Winsock 控件的屬性 在服務器程序中,需要為 Winsock 控件的 LocalPort 屬性設置通信接口:sckserver.LocalPort=44774.2 客戶程序發(fā)送數(shù)據(jù)當 UDP主機要發(fā)送數(shù)據(jù)時,可調(diào)用 SendData 方法。發(fā)送數(shù)據(jù)程序的代碼如下:Dim SendStr As StringSendSt

35、r = 發(fā)送信息! sckClient.SendData SendStr 傳送數(shù)據(jù)vb 映射已知服務器的方法VB 設定/ 取消 網(wǎng)絡磁盤 使用方法:建立連線Function AddConnection(ByVal RemoteLocation As String,ByValLocalDriverAs String,ByValPasswdAsString,ByValUserName AsString) As Boolean專業(yè) .專注.word 格式 .RemoteLocation : 為網(wǎng)絡磁盤原始來源,格式為 RemoteComputerShareDirectoryLocalDriver :

36、 對應本機的磁盤代號,如: H: Passwd : 存取網(wǎng)絡磁盤的 Password, 傳 Null 表示不 用密碼UserName : 存取網(wǎng)絡磁盤的使用者代號 成功時傳回 True ,否則為 False例:Call AddConnection(Shihcmias, x:, vbNullString, cww)取消連線Function CancelConnection(ByVal LocalDriver As String, _ByVal ForceClose As Boolean) As BooleanLocalDriver : 對應本機的磁盤代號,如: H:ForceClose : Tr

37、ue 表示強迫結(jié)束連線,而不管有沒有程式正與之 連線成功時傳回 True ,否則為 False例:Call CancelConnection(x:, True)以下在 .basOption ExplicitType NETRESOURCE dwScope As Long dwType As Long dwDisplayType As Long dwUsage As Long lpLocalName As String lpRemoteName As String lpComment As String lpProvider As String專業(yè) .專注.word 格式 .End TypeDe

38、clareFunctionWNetAddConnection2 Libmpr.dllAliasWNetAddConnection2A(lpNetResource AsNETRESOURCE,ByVallpPasswordAs String, ByVal lpUserNameAs String,ByValdwFlags AsLong) AsLongDeclareFunctionWNetCancelConnection2 Libmpr.dllAliasWNetCancelConnection2A (ByVal lpName As String, ByVal dwFlagsAs Long, ByVa

39、l fForce As Long) As LongDeclare Function WNetGetLastError Lib mpr.dll Alias WNetGetLastErrorA (lpError As Long, ByVal lpErrorBuf As String, ByVal nErrorBufSize As Long, ByVal lpNameBuf As String, ByVal nNameBufSize As Long) As LongPublic Const RESOURCE_PUBLICNET = &H2Public Const RESOURCETYPE_ANY = &H0Public Const RESOURCEDISPLAYTYPE_GENERIC = &H0Public Const RESOURCEUSAGE_CONNECTABLE = &H1Public Const CONNECT_UPDATE_PROFILE = &H1Pu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論