Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Вниз

E-mail   Найти похожие ветки 

 
Groove_   (2002-12-12 16:05) [0]

Люди, программисты, кодеры, и все остальные HELP!!!
Нужно срочно узнать в Online комп или нет, если да, то может ли он отправить почту... HELP HELP HELP!!!


 
Song   (2002-12-12 16:28) [1]

В FAQ есть способы, но 100% нет способа.


 
Maksss   (2002-12-12 16:48) [2]

Пинговать microsoft.com


 
SemFLY   (2002-12-13 02:36) [3]

Вот пример,

const

...........

INTERNET_CONNECTION_MODEM = 1;
INTERNET_CONNECTION_LAN = 2;
INTERNET_CONNECTION_PROXY = 4;
INTERNET_CONNECTION_MODEM_BUSY = 8;
const winetdll = "wininet.dll";

function InternetGetConnectedState(lpdwFlags: LPDWORD; dwReserved:DWORD):
BOOL; stdcall; external winetdll name "InternetGetConnectedState";

implementation

// Проверяем соединение с интернетом

function InternetConnected: Boolean;
var
dwConnectionTypes: DWORD;
begin
dwConnectionTypes := INTERNET_CONNECTION_MODEM +
INTERNET_CONNECTION_LAN +
INTERNET_CONNECTION_PROXY;
Result := InternetGetConnectedState(@dwConnectionTypes, 0);
end;

...........

-------

далее ....
----------
if InternetGetConnectedState(@dwConnectionTypes,0) then
begin
If (dwConnectionTypes and INTERNET_CONNECTION_MODEM) = 1 then
begin
// тут твои действия, если есть коннект...
end;

end;
end;






 
Ihor Osov'yak   (2002-12-13 03:04) [4]

http://delphi.mastak.com/cgi-bin/forum.pl?look=1&id=1039624919&n=2

Обратите вниманее на постинг вашего покорного слуги. Несколько более детализировано Maksss (12.12.02 16:48),SemFLY © (13.12.02 02:36)


 
SemFLY   (2002-12-13 03:35) [5]

Ihor Osov"yak, если ты имеешь ввиду, что я у тя содрал пример и сунул сюда, то ты ошибаешься...


 
Ihor Osov'yak   (2002-12-13 12:21) [6]

2 SemFLY © (13.12.02 03:35)

Нет, не имею ввиду... В каждом модуле есть begin end, а также вполне вероятно, что юзаются примерно одинаковые апишные вызовы, особеннно если решаются похожие задачи ... И вполне вероятно, что в пределах 10-15 строчек код, написанный независимо, будет 1 к одному ...

Зы. Если Вас очень интересует, откуда этот коду меня - я уже не помню, писал его сам, или выдернул с какой-то конференции, и если выдернул - то не помню, подвергал ли его модернизации. Хотя учитывая стиль имен и ссылку на W2k ddk - вероятнее всего, я его как минимум комбинировал из нескольких чужих фрагментов с некоторой отсебятиной ...

Не помню, ибо кода я пишу много и довольно часто пользуюсь поиском по тому же гуглю с целью поиска готовых решений. Если юзается чужая идея, или код по интилекту немного больше чем begin end, то конечно, я сохраняю ссылку на первоисточник... Но имхо, приведенный фрагмент можно расценивать по уровню ноу-хау почти еквивалантом пустого блока begin end; :-).

Зы - а в своем первом постинге я всего лишь претендовал на более детальное расписывание Вашего варианта решения ...
Зы2. Не подозревайте, что другие подозревают Вас... И жызнь станет лучше ...



 
SemFLY   (2002-12-13 14:40) [7]

Ihor Osov"yak, всё оки :))


 
SemFLY   (2002-12-13 14:45) [8]

Ihor Osov"yak, хотел у тебя спросить...
Используя
function InternetGetConnectedState(lpdwFlags: LPDWORD; dwReserved:DWORD):
BOOL; stdcall; external winetdll name "InternetGetConnectedState";


У тебя всегда она определяет момент разъединения с интернетом, у меня это происходит иногда, через раз, иногда определит(подряд если производить connect/disconnect/connect... и т.д.) на раз 3-ий - 4-ый она уже не определят, что соединение было разорвано :(
Момент соединения она определят всегда 100%, а вот разъединения не всегда :(


 
Ihor Osov'yak   (2002-12-14 00:35) [9]

не скажу. Я работал с InternetGetConnectedStateEx, и то только в одном проекте, делался под заказ для конкретного заказчика. Гоняет уже с полгода, периодически делаю ему мелкие апдейты, но он ни разу не приставал с тем, что неверно определяется факт подключения к инету...

Зы, по моим прикидкам функция юзается несколько раз в час в паре disconnect/connect, само изделие в штатном режиме работает практически круглосуточно (заказчик несколько раз прысылал лог-файлы, там видно было что программа порой не останавливалась по несколько дней).


 
SemFLY   (2002-12-14 03:28) [10]


> (заказчик несколько раз прысылал лог-файлы, там видно было
> что программа порой не останавливалась по несколько дней).

т.е. ты хочешь сказать, что функция InternetGetConnectedStateEx всегда определяла момент разъединения с интернетом...


 
Ihor Osov'yak   (2002-12-14 11:24) [11]

2 SemFLY © (14.12.02 03:28)

нет, я так не говорил. Я сказал, что использовал InternetGetConnectedStateEx, а не InternetGetConnectedState.
Причем я ее использовал на предмет выяснения того, если ли коннект к инету в определенный момент времени (для чего она и предназначена), а в случае положительного ответа еще делал попытку соединения с очччень далеким сервером, см. как вариант Maksss (12.12.02 16:48)...

Имхо, эта функция не предназначена для ловли момента обрыва/отключения от инета...


 
Ihor Osov'yak   (2002-12-14 11:31) [12]

по поводу определения момента разьединения -

http://v-programs.narod.ru/rasapi.html
http://v-programs.narod.ru/tvdial.html
http://v-programs.narod.ru/progr.html

там кажется есть решение этой задачи. Насколько качественное - не могу судить, детально не смотрел... Но звонилку/учетчик времени соединения этого человека юзаю уже два года без особых нареканий


 
Набережных С.   (2002-12-14 13:54) [13]

RasConnectionNotification



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.011 c
1-15709
Zelius
2003-01-24 18:05
2003.02.06
Мистические проблемы при создании тулбара для Интернет Эксплорера


1-15710
scorpio2002
2003-01-27 12:43
2003.02.06
Дополнительные параметры


8-15767
Vox
2002-10-26 16:42
2003.02.06
ТВ-Тюнер


3-15444
Shil
2003-01-18 00:29
2003.02.06
как можно почитать из SQL базы значение типа IMAge


1-15568
SergeN
2003-01-28 15:29
2003.02.06
Типы переменных





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский