2014-11-28 21 views
6

Sono venuto a uno strano comportamento, se cambio le impostazioni proxy in Windows 7 inChe cosa fa Internet Explorer per notificare ad altri browser le modifiche alle impostazioni del proxy?

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

Google Chrome si comporta come se niente fosse - anche dopo il riavvio di esso. Tuttavia, quando avvio/riavvio Internet Explorer, in qualche modo "comunica" a Chrome le modifiche e improvvisamente Chrome inizia a utilizzare le impostazioni del proxy, anche senza riavviare Chrome.

Cosa fa "Internet Explorer" così Chrome lo rileva?

È qualcosa di simile, qualcosa che fa Explorer IE, realizzabile in C++?

PS: RegNotifyChangeKeyValue non sembra essere la cosa ...

+0

Probabilmente un messaggio finestra di trasmissione. Nessuna idea quale però. Suppongo che potresti scrivere un programma per ascoltare i messaggi broadcast e vedere quale pannello di controllo di Internet sta generando. O potrebbe essere documentato da qualche parte. –

+0

Potresti servire un esempio di cattura di messaggi analoghi come questi? :) thakns –

+0

Sarei propenso a cambiare le impostazioni del proxy tramite l'API ufficiale di Windows, piuttosto che curiosare direttamente nel registro. Tutte le applicazioni dovrebbero quindi essere in grado di raccoglierlo correttamente. Questo KB spiega come - http://support.microsoft.com/kb/226473 –

risposta

3

È necessario inviare un messaggio di broadcast WM_SETTINGCHANGE

upd. I parametri devono essere impostati su null in questo modo: SendNotifyMessage (HWND_BROADCAST, WM_SETTINGCHANGE, (WPARAM) (0), (LPARAM) (0));

Oppure si può utilizzare InternetSetOption fuction dalla libreria WinInet in questo modo: InternetSetOption (NULL, INTERNET_OPTION_SETTINGS_CHANGED, NULL, 0);

+0

Potrebbe specificare qualche esempio di come questo messaggio dovrebbe essere formattato per cambiare le impostazioni del proxy? Grazie :) –

+1

@javeweb hai mai usato spy ++? Comincerei spiando chrome e vedendo quali parametri di quel messaggio si presentano. – Yakk

+1

È meglio utilizzare 'InternetSetOption()' o qualsiasi altra API ufficiale per modificare le impostazioni di sistema. La modifica diretta dei valori del registro non dovrebbe provocare alcuna reazione da qualsiasi programma in esecuzione. – axiac

Problemi correlati