PDA

View Full Version : تشخیص آنلاین شدن کامپیوتر



saeid12
دوشنبه 04 آذر 1387, 21:04 عصر
سالام دوستان.
واقعا مننون که جواب سوالامو میدید امیدوارم منم جبران کنم.
من میخواستم وقتی که آنلاین شدم برنامه خود به خود متصل بشه (مثل یاهو مسنجر)
پیشاپیش تشکر.

.:KeihanCPU:.
دوشنبه 04 آذر 1387, 21:55 عصر
یه تایمر میذاری تو برنامت
چک میکنه کامپیوتر به اینترنت وصل شده یا نه.اگه وصل شده بود بقیشم که معلومه

mpmsoft
دوشنبه 04 آذر 1387, 23:28 عصر
دوست عزیز سوالتون اصلا مفهوم نبود

saeid12
سه شنبه 05 آذر 1387, 00:48 صبح
دوست عزیز سوالتون اصلا مفهوم نبود
فکر کنم یاهو مسنجر مثال خوبی بود که من زدم.
وقتی متصل به اینترنت میشوید یاهو میاد بالا و آنلاین میشه.


یه تایمر میذاری تو برنامت
دوست عزیز من نمی تونم از تایمر استفاده کنم.

mpmsoft
سه شنبه 05 آذر 1387, 09:33 صبح
دوست عزیز تنها راهش استفاده از تایمر

می تونی یک Delay بیشتر بزاری

Yousha
سه شنبه 05 آذر 1387, 16:38 عصر
سالام دوستان.
واقعا ممنون که جواب سوالامو میدید امیدوارم منم جبران کنم.
من میخواستم وقتی که آنلاین شدم برنامه خود به خود متصل بشه(مثل یاهو مسنجر).
پیشاپیش تشکر.

اگر جوابتونو نگرفتید از این توابع استفاده کنید(به همراه یک Timer):


Option Explicit

Private Declare Function FindExecutable Lib "Shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal sResult As String) As Long
Private Declare Function GetTempPath Lib "Kernel32.dll" Alias "GetTempPathA" (ByVal nSize As Long, ByVal lpBuffer As String) As Long
Private Declare Function DeleteUrlCacheEntry Lib "WinInet.dll" Alias "DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long
Private Declare Function InternetGetConnectedState Lib "WinInet.dll" (ByRef dwFlags As Long, ByVal dwReserved As Long) As Long

Private Const MAX_PATH As Long = 260
Private Const ERROR_FILE_NO_ASSOCIATION As Long = 31
Private Const ERROR_FILE_NOT_FOUND As Long = 2
Private Const ERROR_PATH_NOT_FOUND As Long = 3
Private Const ERROR_FILE_SUCCESS As Long = 32
Private Const ERROR_BAD_FORMAT As Long = 11
Private Const INTERNET_CONNECTION_MODEM As Long = &H1
Private Const INTERNET_CONNECTION_LAN As Long = &H2
Private Const INTERNET_CONNECTION_PROXY As Long = &H4
Private Const INTERNET_CONNECTION_MODEM_BUSY As Long = &H8
Private Const INTERNET_RAS_INSTALLED As Long = &H10
Private Const INTERNET_CONNECTION_OFFLINE As Long = &H20
Private Const INTERNET_CONNECTION_CONFIGURED As Long = &H40
Private Const ERROR_SUCCESS As Long = 0
Private Const BINDF_GETNEWESTVERSION As Long = &H10
Private Const INTERNET_FLAG_RELOAD As Long = &H80000000

Public Function IsConnectedToNet() As Boolean
On Error Resume Next

Dim Bln_Connection As Boolean

If Bln_Connection = False Then: Bln_Connection = IsConnectedViaLAN()
If Bln_Connection = False Then: Bln_Connection = IsConnectedViaModem()
If Bln_Connection = False Then: Bln_Connection = IsConnectedViaProxy()
If Bln_Connection = False Then: Bln_Connection = IsNetConnectOnline()
If Bln_Connection = False Then: Bln_Connection = IsRASInstalled()
IsConnectedToNet = Bln_Connection
End Function

Public Function IsConnectedViaLAN() As Boolean
On Error Resume Next

Dim dwFlags As Long

Call InternetGetConnectedState(dwFlags, 0&)
IsConnectedViaLAN = dwFlags And INTERNET_CONNECTION_LAN
End Function

Public Function IsConnectedViaModem() As Boolean
On Error Resume Next

Dim dwFlags As Long

Call InternetGetConnectedState(dwFlags, 0&)
IsConnectedViaModem = dwFlags And INTERNET_CONNECTION_MODEM
End Function

Public Function IsConnectedViaProxy() As Boolean
On Error Resume Next

Dim dwFlags As Long

Call InternetGetConnectedState(dwFlags, 0&)
IsConnectedViaProxy = dwFlags And INTERNET_CONNECTION_PROXY
End Function

Public Function IsNetConnectOnline() As Boolean
On Error Resume Next
IsNetConnectOnline = InternetGetConnectedState(0&, 0&)
End Function

Public Function IsRASInstalled() As Boolean
On Error Resume Next

Dim dwFlags As Long

Call InternetGetConnectedState(dwFlags, 0&)
IsRASInstalled = dwFlags And INTERNET_RAS_INSTALLED
End Function

Public Function GetConectionString() As String
On Error Resume Next

Dim dwFlags As Long
Dim MSG As String

If InternetGetConnectedState(dwFlags, 0&) Then
If dwFlags And INTERNET_CONNECTION_CONFIGURED Then: MSG = MSG & "You have a network connection configured." & vbCrLf
If dwFlags And INTERNET_CONNECTION_LAN Then: MSG = MSG & "The local system connects to the Internet via a LAN"
If dwFlags And INTERNET_CONNECTION_PROXY Then
MSG = MSG & ", and uses a proxy server. "
Else
MSG = MSG & "."
End If
If dwFlags And INTERNET_CONNECTION_MODEM Then: MSG = MSG & "The local system uses a modem to connect to the Internet. "
If dwFlags And INTERNET_CONNECTION_OFFLINE Then: MSG = MSG & "The connection is currently offline. "
If dwFlags And INTERNET_CONNECTION_MODEM_BUSY Then: MSG = MSG & "The local system's modem is busy with a non-Internet connection. "
If dwFlags And INTERNET_RAS_INSTALLED Then MSG = MSG & "Remote Access Services are installed on this system."
Else
MSG = "Not connected to the internet now."
End If

GetConectionString = MSG
End Function

Public Function GetBrowserName(ByVal dwFlagReturned As Long) As String
On Error Resume Next

Dim hFile As Long
Dim sResult As String, sTempFolder As String

sTempFolder = GetTemporaryDirectory()
hFile = FreeFile

Open sTempFolder & "temporary.html" For Output As #hFile
Close #hFile

sResult = Space$(MAX_PATH)
dwFlagReturned = FindExecutable("dummy.html", sTempFolder, sResult)
Kill (sTempFolder & "temporary.html")
GetBrowserName = TrimNull(sResult)
End Function

Private Function TrimNull(ByVal Item As String)
On Error Resume Next

Dim pos As Integer

pos = InStr(Item, Chr$(0))

If pos Then
TrimNull = Left$(Item, pos - 1)
Else
TrimNull = Item
End If

End Function

Private Function GetTemporaryDirectory() As String
On Error Resume Next

Dim Lng_Size As Long
Dim Str_Temporary As String

Str_Temporary = Space$(MAX_PATH)
Lng_Size = Len(Str_Temporary)
Call GetTempPath(Lng_Size, Str_Temporary)
GetTemporaryDirectory = TrimNull(Str_Temporary)
End Function


موفق باشید.

saeid12
سه شنبه 05 آذر 1387, 19:05 عصر
مرسی من جوابمو گرفتم.