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 عصر
مرسی من جوابمو گرفتم.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.