Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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
6-666
sergey2
2003-03-04 21:50
2003.05.01
Как сохранить отдельные элементы HTML документа в файлы?


14-712
Malder
2003-04-12 18:41
2003.05.01
Куда делась ветка ?


1-638
Alex-21
2003-04-18 21:15
2003.05.01
Панель задач


3-466
Lika
2003-04-14 13:57
2003.05.01
Error:


1-573
VadimS
2003-04-18 12:42
2003.05.01
Проверка типа переменной





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