Сейчас на форуме: hgdagon, asfa, bartolomeo (+4 невидимых)

 eXeL@B —› Программирование —› Нужно оперативно включать/отключать сеть (платный трафик)
Посл.ответ Сообщение

Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 03 января 2007 15:28
· Личное сообщение · #1

Пока приходится лазить в диспетчер устройств и дизаблить сетевуху (точнее, кабельный модем)
Уж больно хлопотно К тому же, некоторые проги при этом сглючивают (если успели заметить, что сетевуха была)

В общем, хочу написать програмульку, чтоб висела в трее и делала вкл/выкл коннекта по конкретной сетевухе (желательно отрубать именно коннект, а не девайс целеком)
Какие есть алгоритмы?



Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 января 2007 17:33
· Личное сообщение · #2

А не устроит ли установитьс Firewall и настроить там правило Deny All, которое потом включать/выключать?



Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 03 января 2007 18:58
· Личное сообщение · #3

Mister
Теоретически--устроит. Но:
во-первых, я хочу включать/выключать сеть даблкликом по иконке в трее;
во-вторых, фаервола не потянет ни тачка (мозгов маловато), ни ось (убитая больно)



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 03 января 2007 19:33
· Личное сообщение · #4

Вроде это можно батником сделать
что-то вроде
ipconfig /release
Хотя могу и ошибаться.



Ранг: 22.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 03 января 2007 19:43
· Личное сообщение · #5

если включить показ иконок соединения, то можно делать правой кнопкой->отключить. Так не только программно отключается соответствующее сетевое подключение, но даже сама сетевуха в D3 переводится




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 04 января 2007 01:08
· Личное сообщение · #6

0xy
Чтобы проги с ума не сходили наверное достаточно будет роутинг грохнуть? А когда надо вкл инет его востановить? Читай описание команды route.

Можно почти похожую операцию произвести со сменой шлюза (читаем описалово netsh)
Example: netsh interface ip set address name="Local Area Connection" source=static addr=10.0.5.99 mask=255.255.255.0 gateway=10.0.5.1

www.microsoft.com/technet/community/columns/cableguy/cg1101.mspx

-----
Computer Security Laboratory




Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 04 января 2007 02:45
· Личное сообщение · #7

в аутпосте есть политика 'запрещать все'



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 04 января 2007 03:16 · Поправил: tundra37
· Личное сообщение · #8

0xy пишет:
во-вторых, фаервола не потянет ни тачка (мозгов маловато), ни ось (убитая больно)

Я думаю, что простенький фаервол не требует мощной машины. Прога с похожими функциями - WinProxy -прекрасно на 1-м Пне под 95-м пашет. Естественно старая версии. Но кто тебя заставляет мощу новейшую ставить.
+++++++++++++++
Кстати, если можно заставить с самой машины всех ходить через прокси, то Winproxy - это то, что ты ищешь.



Ранг: 218.5 (наставник), 2thx
Активность: 0.090
Статус: Участник

Создано: 04 января 2007 08:11 · Поправил: 0xy
· Личное сообщение · #9

Извиняюсь, я забыл сказать, что задачу нужно решить в Win 9x!
wormking описал, как это должно выглядеть в идеале (почти )

Меня интересует, какие АПИ юзать, а не проги? (прогу сам хочу написать)

Кстати, "сетевуха" зовется Scientific Atlanta WebSTAR ECP2100R2 Cable modem Подключен через USB.
Если кто знает, как его в Sleep перевести (или хотябы лампочку "комп" погасить)--очень интересно




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 04 января 2007 09:54
· Личное сообщение · #10

Ну если уж интересна тема с фаером, то вот консольная вариация:
wipfw.sourceforge.net/index-ru.html
Фаер портирован с FreeBSD.
GUI можете свои написать =) хоть с иконкой в систем трее.

-----
Computer Security Laboratory





Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 04 января 2007 11:04
· Личное сообщение · #11

Ищи RasHangUp в RASAPI. Есть в мсдн.




Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 04 января 2007 11:17 · Поправил: HoBleen
· Личное сообщение · #12

Вот рабочая прога (из MSDN, чуть изменена для твоего примера):
#include "windows.h"
#include "ras.h"

int main(int argc, char* argv[])
{
RASCONN * lpRasConn;
DWORD lpcb;
DWORD lpcConnections;
int nRet, i;

lpRasConn = (LPRASCONN) GlobalAlloc(GPTR, sizeof(RASCONN));
lpRasConn->dwSize = sizeof(RASCONN);
lpcb = sizeof(RASCONN);

nRet = RasEnumConnections(lpRasConn, &lpcb, &lpcConnections);
if (nRet != 0)
{
printf("RasEnumConnections failed: Error = %d", nRet);
}
else
{
printf("The following RAS connections are currently active

");
for (i = 0; i < lpcConnections; i++)
{
printf("Entry name: %s
", lpRasConn->szEntryName);
RasHangUp(lpRasConn->hrasconn);
lpRasConn++;
}
}

return 0;

}


 eXeL@B —› Программирование —› Нужно оперативно включать/отключать сеть (платный трафик)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати