Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.02.24;
Скачать: [xml.tar.bz2];

Вниз

TWebBrowser: установка прокси и возврат к установкам IE   Найти похожие ветки 

 
Ihor Osov'yak   (2003-01-04 22:51) [0]

Сделать свои установки довольно просто:

function InetSessionToUserSetting(aEnProxy:boolean; aStrIP,aStrPort:string):boolean;
var
p : INTERNET_PROXY_INFO;
x : integer;
dreserved : dword;
begin
result := false;


if aEnProxy then begin
p.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
p.lpszProxy := PChar(aStrIP+":"+aStrPort);
end
else begin
p.dwAccessType := INTERNET_OPEN_TYPE_DIRECT;
p.lpszProxy := "";
end;

p.lpszProxyBypass := "";
x := sizeof(p);
dreserved := 0;
if UrlMkSetSessionOption(INTERNET_OPTION_PROXY,@p,x,dreserved)<>S_OK
then begin
Exit;
end;


result := true;

end;


А вот как сделать возраат к текущим IE установкам?
Запоминать текущие перед установкой своих не катит, так как установки IE могут быть изменены в любой момент и мне нужен возрат к текущим, то есть новым....

Шаманство вокруг INTERNET_OPTION_REFRESH, INTERNET_OPEN_TYPE_PRECONFIG положительного результата не дало...


 
Ihor Osov'yak   (2003-01-05 02:50) [1]

Красивого решения не нашлось, пришлось "в лоб":



function InetSessionToRegistrySetting:boolean;
var
hk : HKEY;
s : string;
BufSize : integer;
posStr : integer;
retType : DWORD;
isUsingProxy : DWORD;
begin
result := false;
s := "";
if RegOpenKeyEx(HKEY_CURRENT_USER,
"SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings",
0,
KEY_ALL_ACCESS,
hk) = ERROR_SUCCESS then
begin
BufSize := SizeOf(isUsingProxy);
isUsingProxy := 0;
retType := REG_DWORD;
RegQueryValueEx(hk,
"ProxyEnable",
nil,
@retType,
@isUsingProxy,
@bufSize);
if isUsingProxy > 0 then
begin
SetLength(s, MAX_PATH);
BufSize := length(s);
FillChar(s[1], MAX_PATH, #0);
retType := REG_NONE;
RegQueryValueEx(hk,
"ProxyServer",
nil,
@retType,
@s[1],
@bufSize);
SetLength(s, bufsize);
if bufsize > 0 then
if s[length(s)] = #0 then SetLength(s, length(s)-1);
if length(s) > 0 then
begin
posStr := Pos("http=", LowerCase(s));
if posStr > 0 then
s := Copy(s, posStr+5, length(s));
posStr := Pos(";", s);
if posStr > 0 then
s := Copy(s, 1, posStr-1);

result := InetSessionToUserSetting(true,s,"");
end;
end
else result := InetSessionToUserSetting(false,"","");
RegCloseKey(hk);
end;
end;


Зы, если кто это сделать может через "General Win32 Internet Functions" типа GetOptionsXXX, SetOPtionsXXX - был бы очень признателен ...


 
Ihor Osov'yak   (2003-01-05 02:52) [2]

Красивого решения не нашлось, пришлось "в лоб":



function InetSessionToRegistrySetting:boolean;
var
hk : HKEY;
s : string;
BufSize : integer;
posStr : integer;
retType : DWORD;
isUsingProxy : DWORD;
begin
result := false;
s := "";
if RegOpenKeyEx(HKEY_CURRENT_USER,
"SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings",
0,
KEY_ALL_ACCESS,
hk) = ERROR_SUCCESS then
begin
BufSize := SizeOf(isUsingProxy);
isUsingProxy := 0;
retType := REG_DWORD;
RegQueryValueEx(hk,
"ProxyEnable",
nil,
@retType,
@isUsingProxy,
@bufSize);
if isUsingProxy > 0 then
begin
SetLength(s, MAX_PATH);
BufSize := length(s);
FillChar(s[1], MAX_PATH, #0);
retType := REG_NONE;
RegQueryValueEx(hk,
"ProxyServer",
nil,
@retType,
@s[1],
@bufSize);
SetLength(s, bufsize);
if bufsize > 0 then
if s[length(s)] = #0 then SetLength(s, length(s)-1);
if length(s) > 0 then
begin
posStr := Pos("http=", LowerCase(s));
if posStr > 0 then
s := Copy(s, posStr+5, length(s));
posStr := Pos(";", s);
if posStr > 0 then
s := Copy(s, 1, posStr-1);

result := InetSessionToUserSetting(true,s,"");
end;
end
else result := InetSessionToUserSetting(false,"","");
RegCloseKey(hk);
end;
end;


Зы, если кто это сделать может через "General Win32 Internet Functions" типа GetOptionsXXX, SetOPtionsXXX - был бы очень признателен ...



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2003.02.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
14-76193
Романов Р.В.
2003-02-09 10:57
2003.02.24
Вопрос по интерфейсу


14-76172
GROL
2003-02-05 22:14
2003.02.24
Какой последний бюлд у Delphi7 ?


1-76005
Aleksandr
2003-02-13 10:45
2003.02.24
Не могу сладить с ActionToolBar!


14-76127
zzet
2003-02-06 16:38
2003.02.24
brcc32.exe resource.rc


14-76107
Marser
2003-02-02 21:20
2003.02.24
Народ! С 60-й вас годовщиной





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