[WM][VB][啟動 3G 連線]

  • 5954
  • 0

[WM][VB][啟動 3G 連線]

假如我們要啟動 3G 必需要到設定\連線\連線\管理現有連線做一個手動連線動作,不過現在機器只要有安裝3g開啟ie都會自動連結3g,但是如果你想要在應用程式裡面自動啟動3G連線,要怎麼做呢,.netCF 並沒有提供任何的 api 可以執行所以我們可以參考外部檔案 coredll.dll 的 RasDial API 來完成可參考 http://msdn.microsoft.com/en-us/library/ms896639.aspx

image 

Step1: 開啟vs2008 新增一個vb 智慧型裝置專案,在表單上產生三個文字方塊用來輸入3g連結名稱、帳號、密碼,接著在新增二個功能表按鍵開及關連啟動3g連線

image

Step2: 我們這次參考http://devicecf.codeplex.com/所寫好 library來引用一下

image

Step3: 現在我們來加入剛才下載的專案到此專案裡,按下檔案\加入\現有專案

image

Step4: 將滑鼠移到方案總管到SmartDeviceProject1下的參考,按下滑鼠右鍵加入參考

image

Step5: 移到專案選擇DeviceCF 按下確定,這個專案也就是我們剛才從網路上下載回來加入到這個專案其中之一

image

Step6: 撰寫表單程式碼

Imports DeviceCF
Public Class Form1

    Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click
        '判關如果3g狀態為連結才進行掛斷動作
        Dim rasConnState As RasManager.RASCONNSTATE = RasManager.Instance.GetStatus()
        If rasConnState = RasManager.RASCONNSTATE.RASCS_Connected Then
            RasManager.Instance.HangUp()
            Threading.Thread.Sleep(3000)
            MsgBox("3G Off")
        End If
    End Sub


    Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem1.Click
        '判關如果3g狀態為斷線才進行播打動作
        Dim rasConnState As RasManager.RASCONNSTATE = RasManager.Instance.GetStatus()
        If rasConnState = RasManager.RASCONNSTATE.RASCS_Disconnected Then
            RasManager.Instance.DialUp(txtEntry.Text, txtUser.Text, txtPass.Text)
            Threading.Thread.Sleep(3000)
            MsgBox("3G On")
        End If
    End Sub


End Class

 

 

Step7: 按下偵錯\開始偵錯來部署應用程式測試一下

image

Step9:在EntryName 裡面可以打上你的3g連結名稱及帳號、密碼,在按下開,我們可以用Cellular Emulator

image

Step10:在來我們把剛才開啟的3g按下關,來結束3g連線

image

Step11:源碼下載