Voldemort
پنج شنبه 16 مرداد 1382, 16:37 عصر
هفته گذشته یک سوال در مورد نحوه وارد شدن به حالت Offline پرسیده شده بود . آقای S.Azish عزیز هم لطف کردند و یکمقاله معرفی کردند که مثالها و توضیحات آن به زبان C++ بود که برای معرفی مقاله مذکور در مورد Offline از ایشان بسیار متشکرم.
قسمتهای مفید مقاله را به فارسی ترجمه کرده ام که بزودی از قسمت مقاله های سایت می توانید آن را دانلود کنید.
دوست عزیزی که سوال پرسیده بودید، مثالی را که در مقاله آمده بود و جواب سوال شماست به VB تبدیل کردم و کد آن بدین شکل است:
Private Const INTERNET_OPTION_CONNECTED_STATE = 50
Private Const INTERNET_STATE_DISCONNECTED_BY_USER = 16
Private Const ISO_FORCE_DISCONNECTED = 1
Private Const INTERNET_STATE_CONNECTED = 1
Private Type INTERNET_CONNECTED_INFO
dwConnectedState As Long
dwFlags As Long
End Type
Private Declare Sub InternetSetOption Lib "wininet" Alias "InternetSetOptionA" (ByVal hInternet As Long, ByVal dwOption As Long, ByRef lpBuffer As Any, ByVal dwBufferLength As Long) ‘ Convert From C++ to VB
Private Sub SetGlobalOffline(fGoOffline As Boolean) ‘Set Offline State
Dim ci As INTERNET_CONNECTED_INFO
If fGoOffline Then
ci.dwConnectedState = INTERNET_STATE_DISCONNECTED_BY_USER
ci.dwFlags = ISO_FORCE_DISCONNECTED
Else
ci.dwConnectedState = INTERNET_STATE_CONNECTED
End If
InternetSetOption &O0, INTERNET_OPTION_CONNECTED_STATE, ci, Len(ci) ‘Nothing
End Sub
Private Sub cmdOffline_Click() ‘Nothing
SetGlobalOffline True
End Sub
قسمتهای مفید مقاله را به فارسی ترجمه کرده ام که بزودی از قسمت مقاله های سایت می توانید آن را دانلود کنید.
دوست عزیزی که سوال پرسیده بودید، مثالی را که در مقاله آمده بود و جواب سوال شماست به VB تبدیل کردم و کد آن بدین شکل است:
Private Const INTERNET_OPTION_CONNECTED_STATE = 50
Private Const INTERNET_STATE_DISCONNECTED_BY_USER = 16
Private Const ISO_FORCE_DISCONNECTED = 1
Private Const INTERNET_STATE_CONNECTED = 1
Private Type INTERNET_CONNECTED_INFO
dwConnectedState As Long
dwFlags As Long
End Type
Private Declare Sub InternetSetOption Lib "wininet" Alias "InternetSetOptionA" (ByVal hInternet As Long, ByVal dwOption As Long, ByRef lpBuffer As Any, ByVal dwBufferLength As Long) ‘ Convert From C++ to VB
Private Sub SetGlobalOffline(fGoOffline As Boolean) ‘Set Offline State
Dim ci As INTERNET_CONNECTED_INFO
If fGoOffline Then
ci.dwConnectedState = INTERNET_STATE_DISCONNECTED_BY_USER
ci.dwFlags = ISO_FORCE_DISCONNECTED
Else
ci.dwConnectedState = INTERNET_STATE_CONNECTED
End If
InternetSetOption &O0, INTERNET_OPTION_CONNECTED_STATE, ci, Len(ci) ‘Nothing
End Sub
Private Sub cmdOffline_Click() ‘Nothing
SetGlobalOffline True
End Sub