Maza_Faka
Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору dallas roma Цитата: В данном случае время подключения (длительность) | Незнаю, как будет работать для ADSL-подключения (у меня dial-up подключение) Код: ; $iFlag: ; 1 - The number of bytes transmitted through this connection or link. ; 2 - The number of bytes received through this connection or link. ; 3 - Total ; 4 - The amount of time, in milliseconds, that the connection or link has been connected. $stat = _RASConStat(4) MsgBox(0, "Connect Statistics", _ StringFormat("Connection duration:\n\nIn milliseconds: %s\nIn seconds: %.2f\nIn minutes: %.2f", $stat, $stat / 1000, ($stat / 1000) / 60)) Func _RASConStat($sFlags = 1) Local Const $MAX_PATH = 260 Local Const $RAS_MaxDeviceType = 16 Local Const $RAS_MaxEntryName = 256 Local Const $RAS_MaxDeviceName = 128 $tRASCONN = DllStructCreate("dword dwSize;hwnd hRasConn;char szEntryName[" & $RAS_MaxEntryName + 1 & "];" & _ "char szDeviceType[" & $RAS_MaxDeviceType + 1 & "];" & _ "char szDeviceName[" & $RAS_MaxDeviceName + 1 & "];" & _ "char szPhonebook[" & $MAX_PATH & "];" & _ "dword dwSubEntry;byte guidEntry[16];dword dwFlags;byte luid[8]") $tRAS_STATS = DllStructCreate("dword dwSize;dword dwBytesXmited;dword dwBytesRcved;dword dwFramesXmited;" & _ "dword dwFramesRcved;dword dwCrcErr;dword dwTimeoutErr;dword dwAlignmentErr;" & _ "dword dwHardwareOverrunErr;dword dwFramingErr;dword dwBufferOverrunErr;" & _ "dword dwCompressionRatioIn;dword dwCompressionRatioOut;dword dwBps;dword dwConnectDuration") $iCntByte = DllStructCreate("dword") $iCntConn = DllStructCreate("dword") DllStructSetData($iCntByte, 1, DllStructGetSize($tRASCONN)) DllStructSetData($tRASCONN, "dwSize", DllStructGetSize($tRASCONN)) DllStructSetData($tRAS_STATS, "dwSize", DllStructGetSize($tRAS_STATS)) $aRet = DllCall("rasapi32.dll", "int", "RasEnumConnections", _ "ptr", DllStructGetPtr($tRASCONN), _ "ptr", DllStructGetPtr($iCntByte), _ "ptr", DllStructGetPtr($iCntConn)) If $aRet[0] Then Return SetError(2, $aRet[0], -1) If DllStructGetData($iCntConn,1) < 1 Then Return SetError(1, 0, 0) ;Error: not opened connections $aRet = DllCall("rasapi32.dll", "int", "RasGetConnectionStatistics", _ "hwnd", DllStructGetData($tRASCONN, "hRasConn"), _ "ptr", DllStructGetPtr($tRAS_STATS)) If $aRet[0] Then Return SetError(3, $aRet[0], -1) Local $iResult = 0 Switch $sFlags Case 1 $iResult = DllStructGetData($tRAS_STATS, "dwBytesXmited") Case 2 $iResult = DllStructGetData($tRAS_STATS, "dwBytesRcved") Case 3 $iResult = DllStructGetData($tRAS_STATS, "dwBytesXmited") + DllStructGetData($tRAS_STATS, "dwBytesRcved") Case 4 $iResult = DllStructGetData($tRAS_STATS, "dwConnectDuration") EndSwitch Return $iResult EndFunc ; ==> _RASConStat | Цитата: когда например срывается соединение, можно ли сделать так что бы скрипт запускал другое приложение? | Какое соединение? |