2014-11-28 2 views
6

ich in ein fremdes Verhalten gekommen, wenn ich Proxy-Einstellungen auf Windows 7 inWas macht der Internet Explorer, um andere Browser über die Änderung der Proxy-Einstellungen zu benachrichtigen?

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

Google Chrome ändern wirkt als wäre nichts passiert - auch nachdem er neu gestartet wird. Wenn ich jedoch den Internet Explorer starte/starte, "teilt" er Chrome irgendwie mit, und plötzlich beginnt Chrome, die Proxy-Einstellungen zu verwenden - auch ohne Chrome neu zu starten.

Was macht der Internet Explorer, so dass Chrome das bemerkt?

Ist etwas ähnliches, was IE Explorer tun, in C++ zu erreichen?

PS: RegNotifyChangeKeyValue scheint nicht das Ding zu sein ...

+0

Wahrscheinlich eine Broadcast-Fenster-Nachricht. Keine Ahnung welcher. Ich nehme an, du könntest ein Programm schreiben, um Broadcast-Nachrichten zu hören und zu sehen, welches das Internet-Kontrollfeld erzeugt. Oder es könnte irgendwo dokumentiert werden. –

+0

Könnten Sie ein Beispiel für das Einfangen von Analyse-Nachrichten wie diesen geben? :) thakns –

+0

Ich würde geneigt sein, die Proxy-Einstellungen über die offizielle Windows-API zu ändern, anstatt in der Registrierung direkt herumzustochern. Alle Anwendungen sollten dann in der Lage sein, es richtig aufzunehmen. Diese KB erklärt, wie - http://support.microsoft.com/kb/226473 –

Antwort

3

Sie müssen Broadcast-Nachricht WM_SETTINGCHANGE

upd senden. Parameter müssen wie folgt auf null gesetzt werden: SendNotifyMessage (HWND_BROADCAST, WM_SETTINGCHANGE, (WPARAM) (0), (LPARAM) (0));

Oder Sie können InternetSetOption Funktion von WinInet-Bibliothek wie folgt verwenden: InternetSetOption (NULL, INTERNET_OPTION_SETTINGS_CHANGED, NULL, 0);

+0

Könnten Sie bitte ein Beispiel angeben, wie diese Nachricht formatiert werden sollte, damit sich die Proxy-Einstellungen ändern? Danke :) –

+1

@javeweb hast du jemals Spy ++ benutzt? Ich würde damit beginnen, Chrome auszuspionieren und zu sehen, welche Parameter dieser Nachricht sich selbst zeigen. – Yakk

+1

Sie verwenden besser 'InternetSetOption()' oder eine andere offizielle API zum Ändern der Systemeinstellungen. Das direkte Ändern der Registrierungswerte soll keine Reaktion von einem laufenden Programm auslösen. – axiac

Verwandte Themen