|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Создание "Прогресса" на время работы "InetGetSize" |
|
|||||
|
|
Создание "Прогресса" на время работы "InetGetSize"
|
|
Старожил Сообщения: 379 |
Это программа проверяющая наличие интернета на компьютере... Для функции "InetGetSize" хотелось бы "прогресс" установить, пока она выполняется... Это возможно? А как?
![]() $size = InetGetSize("http://ya.ru/logo.png")
If $size = 0 Then
$1=MsgBox(20, "Yes or No Inet ?","К сожалению, сейчас Интернет на вашем компьютере НЕ РАБОТАЕТ. Сообщить, если Интернет будет работать?")
Else
MsgBox(64, "Yes or No Inet ?","Интернет РАБОТАЕТ =)")
Exit
EndIf
If $1 = 6 Then
While 1
sleep(5000)
$size1 = InetGetSize("http://www.ya.ru")
If $size1 = 0 Then
Else
Beep(1000,100)
MsgBox(64, "Yes or No Inet ?","Интернет РАБОТАЕТ =) Время подключения: " & @hour &":"& @min &":"&@sec)
Exit
EndIf
WEnd
EndIf
|
|
|
Отправлено: 17:43, 18-06-2009 |
|
Старожил Сообщения: 307
|
Профиль | Отправить PM | Цитировать Цитата sashadeg:
#include <Inet.au3>
If _GetIP()<>-1 Then
MsgBox(0, "Сообщение", "Все в порядке, интрернет работает",10)
Exit
Else
$1=MsgBox(20, "Yes or No Inet ?","К сожалению, сейчас Интернет на вашем компьютере НЕ РАБОТАЕТ. Сообщить, если Интернет будет работать?")
EndIf
;
If $1==6 Then
While 1
sleep(5000)
If _GetIP()<>-1 then
Beep(1000,100)
MsgBox(64, "Yes or No Inet ?","Интернет РАБОТАЕТ =) Время подключения: " & @hour &":"& @min &":"&@sec,10)
Exit
EndIf
WEnd
EndIf
|
|
|
------- Отправлено: 22:28, 18-06-2009 | #2 |
|
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата sashadeg:
А зачем прогресс для получения размера файла в сети? Или прогресс нужен именно для процесса проверки подключения? Тогда просто можно вывести замкнуты прогресс, я бы сделал так к примеру: #include <Timers.au3>
Global $iShow_While_Progress = 1
Global $iProgress = 0
Global $hTimer = 0
_ProgressStart_Proc()
$iInetIsConnected = _InternetIsConnected("ya.ru")
_ProgressStop_Proc()
If $iInetIsConnected Then
MsgBox(64, "Internet Connection", "Интернет РАБОТАЕТ =)")
Exit
EndIf
$iAsk = MsgBox(20, "Internet Connection", _
"К сожалению, сейчас Интернет на вашем компьютере НЕ РАБОТАЕТ. Сообщить, если Интернет будет работать?")
If $iAsk = 6 Then
If $iShow_While_Progress Then _ProgressStart_Proc()
While 1
Sleep(5000)
If _InternetIsConnected("ya.ru") Then
_ProgressStop_Proc()
Beep(1000, 100)
MsgBox(64, "Internet Connection", "Интернет РАБОТАЕТ =) Время подключения: " & @HOUR & ":" & @MIN & ":" & @SEC)
Exit
EndIf
WEnd
EndIf
Func _ProgressStart_Proc()
ProgressOn("Internet Connection", "Проверка подключения", "Пожалуйста, подождите...", -1, -1, 16)
$hTimer = _Timer_SetTimer(0, 100, "_ProgressSet_Proc")
EndFunc
Func _ProgressStop_Proc()
If $hTimer <> 0 Then _Timer_KillTimer(0, $hTimer)
$hTimer = 0
ProgressSet(100)
Sleep(1000)
ProgressOff()
EndFunc
Func _ProgressSet_Proc($hWnd, $nMsg, $iIDTimer, $dwTime)
$iProgress += 1
If $iProgress >= 100 Then $iProgress = 0
ProgressSet($iProgress)
EndFunc
Func _InternetIsConnected($sPing_Host="google.com", $iPing_TimeOut=1000)
Local Const $INTERNET_CONNECTION_MODEM = 0x1
Local Const $INTERNET_CONNECTION_LAN = 0x2
Local Const $INTERNET_CONNECTION_PROXY = 0x4
Local Const $INTERNET_CONNECTION_OFFLINE = 0x20
Local Const $INTERNET_CONNECTION_CONFIGURED = 0x40
Local $stInetGetConnectedState = DllStructCreate("int")
DllCall("wininet.dll", "int", "InternetGetConnectedState", "ptr", DllStructGetPtr($stInetGetConnectedState), "dword", 0)
Local $s_stDataState = DllStructGetData($stInetGetConnectedState, 1)
Local $iRetState = 0
If BitAND($s_stDataState, $INTERNET_CONNECTION_MODEM) Or _
BitAND($s_stDataState, $INTERNET_CONNECTION_PROXY) Then $iRetState = 1
If BitAND($s_stDataState, $INTERNET_CONNECTION_OFFLINE) Then $iRetState = 0
If $iRetState = 0 And BitAND($s_stDataState, $INTERNET_CONNECTION_CONFIGURED) Then
Local $iPingCheck = Ping($sPing_Host, $iPing_TimeOut)
If $iPingCheck > 0 Then $iRetState = 1
EndIf
Return $iRetState
EndFunc
|
|
|
------- Последний раз редактировалось Creat0R, 19-06-2009 в 23:38. Отправлено: 00:01, 19-06-2009 | #3 |
|
Старожил Сообщения: 379
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
![]() P.S. Твоя программа пишет что инета нету, а в действительности он есть он есть ![]() Программа beve работает нормально... Цитата beve:
|
||
|
------- Отправлено: 15:22, 19-06-2009 | #4 |
|
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата sashadeg:
![]() |
||
|
------- Отправлено: 15:37, 19-06-2009 | #5 |
|
Старожил Сообщения: 307
|
Профиль | Отправить PM | Цитировать Цитата:
Добавлено: Цитата Creat0R:
|
||
|
------- Последний раз редактировалось beve, 19-06-2009 в 16:13. Отправлено: 15:54, 19-06-2009 | #6 |
|
Старожил Сообщения: 379
|
Профиль | Отправить PM | Цитировать Creat0R, я про прогресс так и ничего и не понял...=( Можно сделать чтобы он бесконечно бегал (как у тебя, когда ждет "появления" инета) пока идет работа InetGetSize ? Ну или до появления msgbox'. без разницы... И если можно, то объясните пожалуйста (;в коментарии) что к чему. А то я мало что понимаю в устройстве и работе этого "прогресса"
Цитата beve:
Я же не Creat0R... (вчера его пост видел на каком то английском форуме, полностью на английском языке 0_о ) |
|
|
------- Отправлено: 16:04, 19-06-2009 | #7 |
|
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата sashadeg:
![]() Цитата sashadeg:
Я когда начинал учить аутоит, паралельно учил англ. язык, стал общаться на офф. форуме.. а иначе никак. Цитата sashadeg:
![]() |
|||
|
------- Последний раз редактировалось Creat0R, 19-06-2009 в 23:31. Отправлено: 16:29, 19-06-2009 | #8 |
|
Старожил Сообщения: 379
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
Что то щас пробЫвал из твоего вытащить... постоянно ошибка вылазит... ссылается на _ProgressStop_Proc()... Я бедный RUSский AutoХудоIt парень Помогите пожалуйста... ![]() |
|
|
------- Отправлено: 16:54, 19-06-2009 | #9 |
|
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата sashadeg:
#include <Timers.au3>
Global $iShow_While_Progress = 1
Global $iProgress = 0
Global $hTimer = 0
_ProgressStart_Proc()
$iInetIsConnected = InetGetSize("http://ya.ru/logo.png")
_ProgressStop_Proc()
If $iInetIsConnected > 0 Then
MsgBox(64, "Internet Connection", "Интернет РАБОТАЕТ =)")
Exit
EndIf
$iAsk = MsgBox(20, "Internet Connection", _
"К сожалению, сейчас Интернет на вашем компьютере НЕ РАБОТАЕТ. Сообщить, если Интернет будет работать?")
If $iAsk = 6 Then
If $iShow_While_Progress Then _ProgressStart_Proc()
While 1
Sleep(5000)
If InetGetSize("http://ya.ru/logo.png") > 0 Then
_ProgressStop_Proc()
Beep(1000, 100)
MsgBox(64, "Internet Connection", "Интернет РАБОТАЕТ =) Время подключения: " & @HOUR & ":" & @MIN & ":" & @SEC)
Exit
EndIf
WEnd
EndIf
Func _ProgressStart_Proc()
ProgressOn("Internet Connection", "Проверка подключения", "Пожалуйста, подождите...", -1, -1, 16)
$hTimer = _Timer_SetTimer(0, 100, "_ProgressSet_Proc")
EndFunc
Func _ProgressStop_Proc()
If $hTimer <> 0 Then _Timer_KillTimer(0, $hTimer)
$hTimer = 0
ProgressSet(100)
Sleep(1000)
ProgressOff()
EndFunc
Func _ProgressSet_Proc($hWnd, $nMsg, $iIDTimer, $dwTime)
$iProgress += 1
If $iProgress >= 100 Then $iProgress = 0
ProgressSet($iProgress)
EndFunc
Цитата beve:
Func _InetIsConnected($sPing_Host="google.com", $iPing_TimeOut=1000)
Local Const $INTERNET_CONNECTION_MODEM = 0x1
Local Const $INTERNET_CONNECTION_LAN = 0x2
Local Const $INTERNET_CONNECTION_PROXY = 0x4
Local Const $INTERNET_CONNECTION_MODEM_BUSY = 0x8
Local Const $INTERNET_RAS_INSTALLED = 0x10
Local Const $INTERNET_CONNECTION_OFFLINE = 0x20
Local Const $INTERNET_CONNECTION_CONFIGURED = 0x40
;For 3.2.10.0 the next line should be used
;Local $aRetConnectedState = DllCall("WinInet.dll", "int", "InternetGetConnectedState", "int*", 0, "int", 0)
Local $aRetConnectedState = DllCall("WinInet.dll", "int", "InternetGetConnectedState", "int_ptr", 0, "int", 0)
Local $iRetState = 0
If UBound($aRetConnectedState) > 0 And $aRetConnectedState[0] Then
If BitAND($aRetConnectedState[1], $INTERNET_CONNECTION_MODEM) Or _
BitAND($aRetConnectedState[1], $INTERNET_CONNECTION_LAN) Or _
BitAND($aRetConnectedState[1], $INTERNET_CONNECTION_PROXY) Or _
BitAND($aRetConnectedState[1], $INTERNET_RAS_INSTALLED) Then $iRetState = 1
If BitAND($aRetConnectedState[1], $INTERNET_CONNECTION_OFFLINE) Then $iRetState = 0
Else
$iRetState = 0
Endif
If $iRetState = 0 Then
Local $iPingCheck = Ping($sPing_Host, $iPing_TimeOut)
If $iPingCheck > 0 Then $iRetState = 1
EndIf
Return $iRetState
EndFunc
![]() |
||
|
------- Отправлено: 23:37, 19-06-2009 | #10 |
|
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Интерфейс - [решено] Как удалить папку "Моя музыка","Мои Картинки", "Мое видео"? | verdix | Microsoft Windows 2000/XP | 3 | 03-10-2009 23:46 | |
| Debian/Ubuntu - [решено] Пропали кнопки "свернуть","закрыть","во весь екран" в папках | Alex.sys | Общий по Linux | 5 | 02-04-2009 11:13 | |
| [решено] Как удалить два "неудаляемых" вируса, их "назначение", и принцип работы | Drongo | Хочу все знать | 20 | 11-05-2008 01:14 | |
| [решено] Пропали пункты "Завершение работы" и "Перезагрузка" | Angry Demon | Microsoft Windows NT/2000/2003 | 5 | 30-03-2007 13:01 | |
| Запретить/удалить пункт "Programs" ("Программы") из меню кнопки "Start" ("Пуск") | submaster | Microsoft Windows NT/2000/2003 | 5 | 13-09-2006 12:29 | |
|