Форум: "Сети";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];
Внизсвойства обозревателя Найти похожие ветки
← →
ga3 (2003-03-06 03:51) [0]добрый вечер. может быть ктото знает как с помощью функции InternetSetOption установить прокси-сервер в свойствах обозревателя, поделитесь плиз куском кода. вот здесь: http://msdn.microsoft.com/library/en-us/wininet/wininet/setting_and_retrieving_internet_options.asp есть пример, но он на Си, а этого языка я не знаю вообще. помогите плиз.
← →
int64 (2003-03-06 11:17) [1]Проблема не в переводе. Логика как-раз примитивная:
1. Объявляется переменная list.
2. Заполняются её поля, как тебе надо.
3. InternetSetOption(..., @list, sizeof(list));
Проблема в том, что структура list и типы с константами для заполнения не описаны в Delphi (или описаны под другими именами). Не хочется разбираться. Легче поискать готовые решения. Они и здесь проскальзывали.
Для решения проблемы могу предложить альтернативный метод. Лобовой и примитивный. Связанный с непосредственным редактированием реестра.
uses ..., WinInet, Registry;
...
Procedure EnableProxy(cost Server: String);
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.OpenKey("Software\Microsoft\Windows\CurrentVersion\Internet Settings",False);
Reg.WriteString("ProxyServer",Server);
Reg.WriteBool("ProxyEnable,True);
Reg.CloseKey;
Reg.Free;
InternetSetOption(0, INTERNET_OPTION_SETTINGS_CHANGED, 0, 0);
end;
Procedure DisableProxy;
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.OpenKey("Software\Microsoft\Windows\CurrentVersion\Internet Settings",False);
Reg.WriteBool("ProxyEnable,False);
Reg.CloseKey;
Reg.Free;
InternetSetOption(0, INTERNET_OPTION_SETTINGS_CHANGED, 0, 0);
end;
Примеры:
EnableProxy("proxyserver:8080")
EnableProxy("ftp=ftpproxyserver:2121;gopher=goproxyserver:3333;http=httpproxyserver:8080;https=httpsproxyserver:8080");
EnableProxy("http=httpproxyserver:8080");
InternetSetOption в коде для того, чтобы утверждать настройки без перезагрузки браузера.
← →
ga3 (2003-03-06 18:27) [2]этот код действует только на директ коннекшен, при работе с диалап подключением ничего не меняется:-(
← →
Anatoly Podgoretsky (2003-03-06 18:43) [3]То же самое, но только делать для каждого отдельного соединения, а вот в реестре они могут быть в разных местах, зависит от многих фауторов.
Правильный путь это все таки с помощью WinInet.dll но тебе тут мешает незнания языка к сожалению.
← →
Anatoly Podgoretsky (2003-03-06 18:46) [4]Тебе может помочь описание на русском языке http://rsdn.ru/, но надо хорошо знать работу сети
← →
ga3 (2003-03-06 21:09) [5]2Anatoly Podgoretsky:
я там ничего нового не нашел, все это есть на мсдн.
вобщем проблема осталась... неужели никто не знает как в дельфях организовать все это дело? блин все обыскал нигде нету описания этих гребаных констант и типов для дельфи.
← →
nikkie (2003-03-06 23:18) [6]такие вещи надо искать на http://www.delphi-jedi.org/
ftp://delphi-jedi.org/api/WinInet.zip
← →
ga3 (2003-03-07 03:41) [7]спасибо за ссылку. только вот одна маленькая проблемка:-)) после замены штатного wininet.pas на скачанный с типами и константами все решилось, но при компиляции появилось сообщение:
[Fatal Error] Project1.dpr(5): Unit ShlObj was compiled with a different version of WinInet.INTERNET_MAX_URL_LENGTH
во, бля:-)))
и че теперь делать не подскажете?
← →
ga3 (2003-03-07 03:43) [8]кстати, мож это изза кривизны моих рук и "инсталлировать" этот wininet нужно как-то по-другому? у меня Д6 если это критично.
← →
ga3 (2003-03-07 05:44) [9]ПАМАГИТЕ!!!
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c