2014-11-28 14 views
6

doszedłem do dziwnego zachowania, jeśli mogę zmienić ustawienia proxy w systemie Windows 7 wCo robi Internet Explorer, aby powiadomić inne przeglądarki o zmianie ustawień proxy?

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings 

Google Chrome działa jak nic się nie stało - nawet po ponownym uruchomieniu go. Jednak po uruchomieniu/ponownym uruchomieniu przeglądarki Internet Explorer w jakiś sposób "informuje" Chrome o zmianach i nagle Chrome zaczyna korzystać z ustawień proxy - nawet bez ponownego uruchamiania Chrome.

Co robi program Internet Explorer, aby Chrome to zauważył?

Czy jest coś podobnego, coś co IE Explorer robi, osiągalne w C++?

PS: RegNotifyChangeKeyValue nie wydaje się być rzeczą ...

+0

Prawdopodobnie wiadomość w oknie transmisji. Nie mam pojęcia, który z nich. Przypuszczam, że mógłbyś napisać program, by wysłuchać wiadomości rozgłoszeniowych i zobaczyć, który z nich generuje internetowy panel kontrolny. Albo może gdzieś być udokumentowana. –

+0

Czy możesz podać przykład złapania analizujących wiadomości takich jak te? :) thakns –

+0

Byłbym skłonny zmienić ustawienia proxy poprzez oficjalny interfejs Windows API, zamiast grzebać w rejestrze bezpośrednio. Wszystkie aplikacje powinny wtedy być w stanie poprawnie je odebrać. W tym dokumencie wyjaśnia się, jak - http://support.microsoft.com/kb/226473 –

Odpowiedz

3

Musisz wysłać wiadomości nadawane WM_SETTINGCHANGE

UPD. Parametry muszą mieć wartość null: SendNotifyMessage (HWND_BROADCAST, WM_SETTINGCHANGE, (WPARAM) (0), (LPARAM) (0));

Lub możesz użyć funkcji InternetSetOption z biblioteki WinInet w następujący sposób: InternetSetOption (NULL, INTERNET_OPTION_SETTINGS_CHANGED, NULL, 0);

+0

Proszę podać przykład, w jaki sposób ta wiadomość powinna zostać sformatowana w celu zmiany ustawień proxy. Dziękuję :) –

+1

@javeweb czy kiedykolwiek używałeś szpiega ++? Zacznę od szpiegowania chrome i sprawdzenia, jakie parametry tej wiadomości widzę. – Yakk

+1

Lepiej użyj 'InternetSetOption()' lub dowolnego innego oficjalnego API do zmiany ustawień systemu. Bezpośrednia zmiana wartości rejestru nie powinna wywoływać żadnej reakcji z jakiegokolwiek działającego programu. – axiac

Powiązane problemy