On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 790
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.02.09 18:04. Заголовок: Как узнать когда комп подключается к Инету !


Всем привет !
Подскажите пожалуйста: как написать прогу, которая бы отлавливала подключение к Инету ?

Хочу сделать добавление в БАЗУ-LetoDB из локальной БАЗЫ с компьютера при появление интернет соединения !

Заранее спасибо.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 38 , стр: 1 2 All [только новые]


постоянный участник




Пост N: 1362
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.06.10 14:47. Заголовок: Andrey пишет: Вариа..


Andrey пишет:

 цитата:
Вариант Григория из МиниГУИ (папка samples\Advanced\Inet_Checker) работает сейчас быстро и правильно, но портировать код на хХарбор не могу.



Можно ли заменить вызов CallDll32() на CallDll() из хХарбора ? и как тогда будет выглядеть код ?
Программа Григория: Скрытый текст


Так кто же поможет в этом нелегком деле ???

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1742
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 08.06.10 15:01. Заголовок: CallDll( <pFunct..


CallDll( <pFunction> [,<xParams,...>] ) --> xResult

// The example implements a simple command line utility
// that opens a file using the associated file viewer.

PROCEDURE Main( cFile )
LOCAL nDll, pFunc

IF cFile == NIL .OR. .NOT. File( cFile )
CLS
? "File name must be specified"
QUIT
ENDIF

nDll := DllLoad( "Shell32.dll" )
pFunc := GetProcAddress( nDll, "ShellExecute" )

? CallDll( pFunc, 0, "open", cFile, NIL, NIL, 1 )

DllUnload( nDll )
RETURN


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1363
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.06.10 16:32. Заголовок: Dima пишет: CallDll..


Dima пишет:

 цитата:
CallDll( <pFunction> [,<xParams,...>] ) --> xResult



Так это кусок из Хелпа.... А мне вот это переделать нужно:
if CallDll32( "InternetGetConnectedState", "WININET.DLL", @nFlags, 0 ) == 1

if CallDll32( "InternetCheckConnection", "WININET.DLL", "http://www.google.com", ;
FLAG_ICC_FORCE_CONNECTION, 0 ) == 1

lRet := .t.
endif

endif

Там кол-во передаваемых параметров разное !

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 13
Зарегистрирован: 16.12.08
ссылка на сообщение  Отправлено: 08.06.10 16:48. Заголовок: в xHarbour есть функ..


в xHarbour есть функция DllCall(), попробуй использовать её.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1364
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.06.10 17:38. Заголовок: santy пишет: в xHar..


santy пишет:

 цитата:
в xHarbour есть функция DllCall(), попробуй использовать её.



Вы меня извините, а мое предыдущее сообщение вы читали ? Или только заголовок начального сообщения ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 968
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 08.06.10 21:24. Заголовок: Это у меня Опера что..



Андрей, santy дал нормальный совет, в чем дело?
 
#define DC_CALL_STD 0x0020
#define INTERNET_CONNECTION_MODEM 1
#define INTERNET_CONNECTION_LAN 2
#define INTERNET_CONNECTION_PROXY 4
#define INTERNET_RAS_INSTALLED 16
#define INTERNET_CONNECTION_OFFLINE 32
#define INTERNET_CONNECTION_CONFIGURED 64
// Flag for InternetCheckConnection
#define FLAG_ICC_FORCE_CONNECTION 1

proc main()
local nFlags := 0
local lRet := .f.

if DllCall( "WININET.DLL", DC_CALL_STD, "InternetGetConnectedState", @nFlags, 0 ) == 1
if DllCall( "WININET.DLL", DC_CALL_STD, "InternetCheckConnection", "http://www.google.com", FLAG_ICC_FORCE_CONNECTION, 0 ) == 1
lRet := .t.
endif
endif

? lRet

return


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1365
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.06.10 21:35. Заголовок: Петр пишет: Андрей,..


Петр пишет:

 цитата:
Андрей, santy дал нормальный совет, в чем дело?


Так я и про это писал.
По хелпу [CallDll( <pFunction> [,<xParams,...>] ) --> xResult] там 2 параметра, я же не знал, что можно больше !
До этого Дима мне про эту функцию написал, я ему написал про 2 параметра.
А потом santy пишет что типа воспользуйся этой функцией ! Ну я уже про 2 параметра ему писать не стал ! Посчитал за повтор...
Извини santy !

Спасибо Петр за исправленный исходник. Теперь мне понятно, как в таких случаях делать !


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 969
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 09.06.10 06:00. Заголовок: Andrey пишет: По хе..


Andrey пишет:

 цитата:
По хелпу [CallDll( <pFunction> [,<xParams,...>] ) --> xResult] там 2 параметра, я же не знал, что можно больше !
До этого Дима мне про эту функцию написал, я ему написал про 2 параметра.
А потом santy пишет что типа воспользуйся этой функцией !


Во первых CallDll функция с переменным числом аргументов и на это четко указывают три точки в определении функции;
Во вторых CallDll и DllCall - это две разные функции.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1366
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.06.10 07:48. Заголовок: Петр пишет: и на эт..


Петр пишет:

 цитата:
и на это четко указывают три точки в определении функции;


Спасибо Петр !
Теперь буду знать !

Функцию твою вставил к себе в программу ! Работает !!!

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 14
Зарегистрирован: 16.12.08
ссылка на сообщение  Отправлено: 09.06.10 11:41. Заголовок: Andrey пишет: Извин..


Andrey пишет:

 цитата:
Извини santy !



Пробежали

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2917
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.07.13 20:17. Заголовок: Возник вопрос, по пр..


Возник вопрос, по проверке работоспособности сайта.
Не долго думая, взял пример Григория из поставки МиниГУИ (папка samples\Advanced\Inet_Checker):
и заменил адрес http://www.google.com на адрес проверяемого сайта.
Если проверяемый сайт "лежит" (не открывается в браузере), то функция из примера IsConnected() все равно выдает .T.
Что есть - неправильно.

Какие есть еще варианты/функции проверки работоспособности сайта ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3324
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.07.13 20:49. Заголовок: Andrey пишет: Если ..


Andrey пишет:

 цитата:
Если проверяемый сайт "лежит" (не открывается в браузере)


Наводящий вопрос: пинг на "лежащий" сайт проходит нормально ?

PS
Вот такого сайта нет и что выдаст тест на него ?
http://www.skdjhfksjdhfkjsd.com/



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2918
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.07.13 21:21. Заголовок: Dima пишет: Наводящ..


Dima пишет:

 цитата:
Наводящий вопрос: пинг на лежащий сайт проходит нормально ?


Да ! Нормально.
Пакетов: отправлено = 4, получено = 4, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 6мсек, Максимальное = 7 мсек, Среднее = 6 мсек


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3325
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.07.13 21:26. Заголовок: Andrey А на тот что..


Andrey
А на тот что в PS ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2919
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.07.13 21:56. Заголовок: Dima пишет: Вот так..


Dima пишет:

 цитата:
Вот такого сайта нет и что выдаст тест на него ?
http://www.skdjhfksjdhfkjsd.com/


Переделанный пример (samples\Advanced\Inet_Checker) - выдает .F.
Мой "висящий" сайт - выдает .T.

Пример короткий: Скрытый текст

Только нужно указать для сборки calldll.lib

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3326
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.07.13 22:10. Заголовок: Ответ как бы сам нап..


Ответ как бы сам напрашивается. Надо анализировать HTML форму или что там на сайте.
Пример есть тут
Наверное (не уверен) но это самый правильный подход , ведь сайту могут и DDOS устроить , так
что анализ не помешает.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 11
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 23.07.13 22:19. Заголовок: Все же уже есть - minigui\samples\basic\socket - TestHttp


Все же уже есть
minigui\samples\basic\socket - TestHttp
Если главная страница сайта прочитана и не пустая - сайт доступен.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2920
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.07.13 23:21. Заголовок: petr707 пишет: Все ..


petr707 пишет:

 цитата:
Все же уже есть


То что надо ! "Подвисший" сайт выдает нулевую строку !
Спасибо !

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 38 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 25
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет