چگونگي تشخيص يک اتصال اينترنتي از طريق برنامه هاي تحت ويندوز :
يکي از مسايلي که در تالارهاي گفتمان بسيار مطرح مي شود نحوه تشخيص وجود يک اتصال اينترنتي در برنامه هاي تحت ويندوز مي باشد.
در اين مقاله قصد دارم نحوه تشخيص يک اتصال اينترنتي را شرح دهم .
در قطعه کد زير تابعي به نام CheckConnection را مي بينيد که يک URL را به عنوان يک پارامتر گرفته و در صورت متصل بودن کاربر به اينترنت ، مقدار True را برمي گرداند و در غير اين صورت مقدار False را برمي گرداند .
به ياد داشته باشيد که بايد فضاي نامي System.Net را در ابتداي برنامه وارد نماييد.
Dim webreq As HttpWebRequest
Dim webresp As HttpWebResponse
'Funtion returns true or false base on the HttpStatusCode
Function CheckConnection(ByVal url As String) As Boolean
Dim strurl As String = url
Dim bConnected As Boolean = False
Try
webreq = WebRequest.Create(strurl)
webresp = webreq.GetResponse
If webresp.StatusCode = HttpStatusCode.OK Then
bConnected = True
Else
bConnected = False
End If
Return bConnected
Catch ex As Exception
bConnected = False
Return bConnected
Finally
webresp = Nothing
End Try
End Function |
در فرم برنامه يک TextBox وجود دارد که کاربر مي تواند آدرس اينترنتي مورد نظر را در آن وارد نماييد و با فشار دکمه Connect در صورت متصل بودن به اينترنت ، پنجره سايت مورد نظر باز مي شود.( اين عمل را با استفاده از کلاس System.Diagnostics.Process.Start انجام مي دهيم )
در غير اين صورت به کاربر پيامي نشان داده مي شود که آيا مايل است به اينترنت وصل شود يا خير.
در صورتي که کاربر مايل باشد به اينترنت وصل شود پنجره " Network and Dial-Up Connections " را باز مي کنيم.( اين کار را با استفاده از تابع Shell انجام مي دهيم )
Private Sub btnConnect_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btnConnect.Click
Dim lNg As Integer
Dim urlString As String = TextBox1.Text
Dim isConnected As Boolean = CheckConnection(urlString)
If isConnected Then
System.Diagnostics.Process.Start( "iexplore", urlString)
Else
Dim ans As String = MsgBox("Do you want to connect?", _
MsgBoxStyle.YesNo, "No Connected")
If ans = vbYes Then
lNg = Shell( "rundll32.exe shell32.dll,Control_RunDLL ncpa.cpl,,0")
Else
MsgBox( "Sorry canot connect you chose no...")
End If
End If
End Sub |