PDA

View Full Version : سوال: چک کردن اینترنت (3 روش هست ولی کاربردی نیست!!)



abolfazl-z
شنبه 14 مرداد 1391, 11:28 صبح
سلام دوستان امیدوارم حالتون خوب باشه:لبخندساده:

من چند روزی است که دنبال این مبحث هستم که سه راه حل با مشکل پیدا کردم؟؟؟

خوب اولی:متفکر::متفکر::متفکر::مت کر:

اشکال : اصلا در ویندوز 7 عمل نمی کند.:متفکر:

Const NETWORK_ALIVE_AOL = &H4
Const NETWORK_ALIVE_LAN = &H1
Const NETWORK_ALIVE_WAN = &H2
Private Declare Function IsNetworkAlive Lib "SENSAPI.DLL" (ByRef lpdwFlags As Long) As Long

Private Sub Command1_Click()
Dim CRes As Long
If IsNetworkAlive(CResult) = 0 Then
MsgBox "Not Connected", vbInformation, "vb.vov.ir"
Else
MsgBox "Connected To the Internet", vbInformation, "vb.vov.ir"
End If
End Sub


خوب دومی:متفکر::متفکر::متفکر::مت کر:

خوب این کد هم در یک مورد کار می کند که با Connection به اینترنت Connect بشیم در غیر اینصورت در بعضی از مودم ها که به صورت خودکار به اینترنت وصل میشن کار نمیکند.(تست کردم)

Public Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As Long) As Long
Public Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias "RasGetConnectStatusA" (ByVal hRasCon As Long, lpStatus As Any) As Long
'
Const RAS95_MaxEntryName = 256
Const RAS95_MaxDeviceType = 16
Const RAS95_MaxDeviceName = 32
'
Public Type RASCONN95
dwSize As Long
hRasCon As Long
szEntryName(RAS95_MaxEntryName) As Byte
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type
'
Public Type RASCONNSTATUS95
dwSize As Long
RasConnState As Long
dwError As Long
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type

'A call to the function IsConnected returns true if the computer has established a connection to the internet.

Public Function IsConnected() As Boolean
Dim TRasCon(255) As RASCONN95
Dim lg As Long
Dim lpcon As Long
Dim RetVal As Long
Dim Tstatus As RASCONNSTATUS95
'
TRasCon(0).dwSize = 412
lg = 256 * TRasCon(0).dwSize
'
RetVal = RasEnumConnections(TRasCon(0), lg, lpcon)
If RetVal <> 0 Then
MsgBox "ERROR"
Exit Function
End If
'
Tstatus.dwSize = 160
RetVal = RasGetConnectStatus(TRasCon(0).hRasCon, Tstatus)
If Tstatus.RasConnState = &H2000 Then
IsConnected = True
Else
IsConnected = False
End If

End Function

If IsConnected = False Then
MsgBox "ÔãÇ Èå ÇíäÊÑäÊ ãÊÕá äíÓÊíÏ.", 0 + 16, "Connection"
End
End If




خوب روش سوم هم که میشه یک فایل را رو یک هاستی آپلود کرد و دیگر خودتون میدونید ولی باز هم اینجا چند مشکل داریم یک ممکن است هاست غیر فعال شود دوم اینکه وقت زیادی را میبرد.

دوستان اگر راه حل دیگری سراغ دارید معرفی کنید؟؟؟؟؟؟؟؟

butterfly8528
شنبه 14 مرداد 1391, 17:05 عصر
سلام دوست عزيز. معمولا با جستجو سريع تر ميشه به نتيجه رسيد ،
بررسی اتصال به اینترنت با روشی کاملا مطمئن (http://barnamenevis.org/showthread.php?299844-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%A7%D8%AA%D8%B5%D8%A7%D9%84-%D8%A8%D9%87-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A8%D8%A7-%D8%B1%D9%88%D8%B4%DB%8C-%DA%A9%D8%A7%D9%85%D9%84%D8%A7-%D9%85%D8%B7%D9%85%D8%A6%D9%86)

موفق باشيد .

abolfazl-z
یک شنبه 15 مرداد 1391, 13:13 عصر
مرسی:بوس:
ولی این روش هم زیاد کاربردی نیست درسته قطعی است ولی باعث گیر کردن میشه که میشه این کار را با ابزار Inet هم انجام داد بدون گیر کردن به نظر من همون روش سوم از همه بهتر است.:متفکر:

ARData
یک شنبه 15 مرداد 1391, 15:27 عصر
فايل Dll زير را هم امتحان کنيد :
Public MyFunction As New functions.clsNetConnection
Private Sub Command0_Click()
MsgBox MyFunction.IsNetConnectViaLAN
End Sub

arenaw
یک شنبه 15 مرداد 1391, 17:35 عصر
مرسی:بوس:
ولی این روش هم زیاد کاربردی نیست درسته قطعی است ولی باعث گیر کردن میشه که میشه این کار را با ابزار Inet هم انجام داد بدون گیر کردن به نظر من همون روش سوم از همه بهتر است.:متفکر:
ولی به نظر من همین پینگ گرفتن یا استفاده از inet خیلی بهتر از فقط بررسی اتصال هستش (هر چند طول میکشه)
چون یه موقعایی هست که کانکت هستی، ولی اینترنت نداری یا اینترنتت محدوده یا ...