Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2009, 20:56   #1
Romany4
Пользователь
 
Аватар для Romany4
 
Регистрация: 01.09.2009
Сообщений: 18
По умолчанию Работа с роутингом windows

В Киргизии до сих пор нет анлимита, и внешний трафик ощутимо бьёт по карману. Поэтому многие пользователи используют примерно такии bat-файлы для ограничения доступа к внешнему интернету:

Код:
@SET GATEWAY=xxx.xxx.xxx.xxx // свой ip адрес
@route add 0.0.0.0 mask 0.0.0.0 %GATEWAY%
@route delete 0.0.0.0


@route xxx.xxx.xxx.xxx	mask 255.255.224.0 %GATEWAY%
@route xxx.xxx.xxx.xxx	mask 255.255.255.0 %GATEWAY%
...
Фактически указывается диапазон разрешенных адресов.

А как такое можно осуществить на Delphi?
Хочу для себя написать небольшую програмку, чтобы ограничить доступ к определённым ресурсам, но так как в программировании не силен, прошу указать направление, пускай не подробный код, а хотя бы направление: какие функции, компоненты использовать. Посдкажите, пожалуйста.
Кто не любит свет, тот и живёт ночью

Последний раз редактировалось Romany4; 01.09.2009 в 20:58.
Romany4 вне форума Ответить с цитированием
Старый 01.09.2009, 21:20   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну можно создать программно такой батник
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.09.2009, 08:23   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А как такое можно осуществить на Delphi?
А зачем таки, если уже есть БАТник? Запускай его.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.09.2009, 09:46   #4
andreibtzt
Заблокирован
 
Регистрация: 04.04.2009
Сообщений: 43
По умолчанию

Цитата:
Сообщение от Romany4 Посмотреть сообщение
В Киргизии до сих пор нет анлимита, и внешний трафик ощутимо бьёт по карману. Поэтому многие пользователи используют примерно такии bat-файлы для ограничения доступа к внешнему интернету:

Код:
@SET GATEWAY=xxx.xxx.xxx.xxx // свой ip адрес
@route add 0.0.0.0 mask 0.0.0.0 %GATEWAY%
@route delete 0.0.0.0


@route xxx.xxx.xxx.xxx	mask 255.255.224.0 %GATEWAY%
@route xxx.xxx.xxx.xxx	mask 255.255.255.0 %GATEWAY%
...
Фактически указывается диапазон разрешенных адресов.

А как такое можно осуществить на Delphi?
Хочу для себя написать небольшую програмку, чтобы ограничить доступ к определённым ресурсам, но так как в программировании не силен, прошу указать направление, пускай не подробный код, а хотя бы направление: какие функции, компоненты использовать. Посдкажите, пожалуйста.
Poprobuvai tak,
var
t:Tstringlist;
begin
try
t:=tstringlist.create;
t.add('pervaia linia iz .BAT');
t.add('ftaraia linia...');
t.add....
t.savetofile('c:\file.bat');
finally
shellexecute(nil,nil,'open','c:\fil e.bat',nil);
primerna tak
andreibtzt вне форума Ответить с цитированием
Старый 27.09.2009, 05:42   #5
Romany4
Пользователь
 
Аватар для Romany4
 
Регистрация: 01.09.2009
Сообщений: 18
По умолчанию

Stilet,
Цитата:
А зачем таки, если уже есть БАТник? Запускай его.
Дело в том, что таких батников несколько. Иногда ведь бывает нужно выйти в мир, как сейчас, например . Для этого другой батник.
А иногда бывает нужно разрешить доступ только к одному внешнему ресурсу, а значит надо дописать адрес этого ресурса к в первый батник... Бррр... В общем, неудобно это.
Мне нужно было манипулировать изменением маршрутов на лету. То есть програмка висит в трее, кликнешь по значку - откроется окошко, выставишь правило - свернешь и готово.

andreibtzt,
Цитата:
Poprobuvai tak
Я сделал проще

Нашел функцию определения IP (что немаловажно в моем случае) и использовал такой код:

Код:
cmd := 'open';
fil := 'route.exe';
dir:= 'C:';
str:= 'add 64.12.0.0 mask 255.255.0.0'+' '+ ip;
par:= pansichar (str);
ShellExecute(0, cmd, fil, par, nil, SW_HIDE);
А в итоге получилось вот:
screen.JPG

Всем спасибо за участие. Тему можно закрыть
Кто не любит свет, тот и живёт ночью
Romany4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа программы с БД с ограниченной учетной записью пользователя Windows Стас БД в Delphi 3 11.12.2009 14:35
обновление в блоге - Хуки в Windows. Часть вторая. Работа с окнами Pblog Обсуждение статей 0 24.04.2009 20:50
Модуль graph и его работа на windows vista Teor Софт 4 23.02.2009 14:31
обновление в блоге - Работа с устройствами в Windows Pblog Обсуждение статей 0 03.06.2008 12:30