Главная страница
    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-15650
Aleksandr
2003-01-29 16:12
2003.02.06
Как обойти закрытие модального окна по Esc и Enter с ComboBox


4-15977
Zhenya_g
2002-12-22 15:02
2003.02.06
проблема при свертывании в трей


14-15888
Вольный Стрелок
2003-01-16 19:36
2003.02.06
локализация интерфейса приложений


4-15989
Alpine
2002-12-22 15:45
2003.02.06
Как с помощью ShellExecute можно раскрыть медиа плейер на весь эк


7-15976
dimich1978
2002-11-29 11:32
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский