C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
заставить IE перечитать настройки реестра
colotoon
Отправлено: 17.01.2007, 15:10


Ученик-кочегар

Группа: Участник
Сообщений: 22



Как заставить IE перечитать настройки реестра?

Я программно изменяю Отображение картинок.
Изменения можно стразу посмотреть открыв Свойства обозревателя, НО,
браузер не реагирует на изменения sad.gif

Напр. я включил отображение картинок,
в свойствах обозревателя это отобразилось.

А вот браузер даже после перезапуска не отображеет картинки.
А вот когда в свойствах обозревателя включаеш и нажимаешь ОК — все работает даже без перезапуска...

Как можно это исправить програмно?
colotoon
Отправлено: 17.01.2007, 15:12


Ученик-кочегар

Группа: Участник
Сообщений: 22



У меня есть кусок кода на делфи, но я не знаю как его можно перевести в си ++ ..

//-----------
uses
WinInet;

procedure IE_Reread_Registry_Settings;
var
HInet: HINTERNET;
begin
hInet := InternetOpen(PChar('YourAppName'), INTERNET_OPEN_TYPE_DIRECT,
nil, nil, INTERNET_FLAG_OFFLINE);
try
if hInet <> nil then
InternetSetOption(hInet, INTERNET_OPTION_SETTINGS_CHANGED, nil, 0);
finally
InternetCloseHandle(hInet);
end;
end;

//-------
Tantos
Отправлено: 17.01.2007, 16:17


Станционный диспетчер

Группа: Участник
Сообщений: 108



Да вроде все элементарно:
CODE

#include <wininet.h>

void IE_Reread_Registry_Settings()
{
HINTERNET hInet;
hInet = InternetOpen("YourAppName", INTERNET_OPEN_TYPE_DIRECT,
NULL, NULL, INTERNET_FLAG_OFFLINE);
try {
 InternetSetOption(hInet, INTERNET_OPTION_SETTINGS_CHANGED, NULL, 0);
}
__finally {
 InternetCloseHandle(hInet);
}
}


Отредактировано Tantos — 17.01.2007, 23:18
colotoon
Отправлено: 18.01.2007, 08:35


Ученик-кочегар

Группа: Участник
Сообщений: 22



QUOTE (Tantos @ 17.01.2007, 16:17)
Да вроде все элементарно:
CODE

#include <wininet.h>

void IE_Reread_Registry_Settings()
{
HINTERNET hInet;
hInet = InternetOpen("YourAppName", INTERNET_OPEN_TYPE_DIRECT,
NULL, NULL, INTERNET_FLAG_OFFLINE);
try {
InternetSetOption(hInet, INTERNET_OPTION_SETTINGS_CHANGED, NULL, 0);
}
__finally {
InternetCloseHandle(hInet);
}
}

ага, компилится на ура, НО, не линкуется зараза!:

Unresolved External 'InternetOpenA' from Unit1.obj
Unresolved External 'InternetSetOptionA' from Unit1.obj
Unresolved External 'InternetCloseHandle' from Unit1.obj

Из-за чего это может быть?
Tantos
Отправлено: 18.01.2007, 10:27


Станционный диспетчер

Группа: Участник
Сообщений: 108



Добавь в проект wininet.lib.

Вернуться в Вопросы программирования в C++Builder