diff options
Diffstat (limited to 'Src/omBrowser/internetFeatures.h')
-rw-r--r-- | Src/omBrowser/internetFeatures.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/Src/omBrowser/internetFeatures.h b/Src/omBrowser/internetFeatures.h new file mode 100644 index 00000000..922aa880 --- /dev/null +++ b/Src/omBrowser/internetFeatures.h @@ -0,0 +1,65 @@ +#ifndef NULLSOFT_WINAMP_INTERNET_FEATURES_HELPER_HEADER +#define NULLSOFT_WINAMP_INTERNET_FEATURES_HELPER_HEADER + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +#include <wtypes.h> +#include <urlmon.h> + +#ifndef FEATURE_TABBED_BROWSING + #define FEATURE_TABBED_BROWSING ((INTERNETFEATURELIST)19) +#endif //FEATURE_TABBED_BROWSING + +#ifndef FEATURE_SSLUX + #define FEATURE_SSLUX ((INTERNETFEATURELIST)20) +#endif // FEATURE_SSLUX + +#ifndef FEATURE_DISABLE_NAVIGATION_SOUNDS + #define FEATURE_DISABLE_NAVIGATION_SOUNDS ((INTERNETFEATURELIST)21) +#endif // FEATURE_DISABLE_NAVIGATION_SOUNDS + +#ifndef FEATURE_DISABLE_LEGACY_COMPRESSION + #define FEATURE_DISABLE_LEGACY_COMPRESSION ((INTERNETFEATURELIST)22) +#endif // FEATURE_DISABLE_LEGACY_COMPRESSION + +#ifndef FEATURE_FORCE_ADDR_AND_STATUS + #define FEATURE_FORCE_ADDR_AND_STATUS ((INTERNETFEATURELIST)23) +#endif //FEATURE_FORCE_ADDR_AND_STATUS + +#ifndef FEATURE_BLOCK_INPUT_PROMPTS + #define FEATURE_BLOCK_INPUT_PROMPTS ((INTERNETFEATURELIST)27) +#endif //FEATURE_BLOCK_INPUT_PROMPTS + +class InternetFeatures +{ +public: + InternetFeatures(); + ~InternetFeatures(); + +public: + HRESULT SetEnabled(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, BOOL fEnable); + HRESULT IsEnabled(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags); + + HRESULT SetDWORDFeature(const wchar_t *featureName, BOOL perUser, unsigned long value); + HRESULT GetDWORDFeature(const wchar_t *featureName, BOOL perUser, unsigned long *value); + void DeleteFeature(const wchar_t *featureName, BOOL perUser); + +protected: + HRESULT LoadModule(); + const wchar_t *GetProcessName(); + +private: + typedef HRESULT (WINAPI *COINTERNETSETFEATUREENABLED)(INTERNETFEATURELIST /*FeatureEntry*/, DWORD /*dwFlags*/, BOOL /*fEnable*/); + typedef HRESULT (WINAPI *COINTERNETISFEATUREENABLED)(INTERNETFEATURELIST /*FeatureEntry*/, DWORD /*dwFlags*/); + +private: + HMODULE module; + HRESULT loadResult; + COINTERNETSETFEATUREENABLED CoInternetSetFeatureEnabled; + COINTERNETISFEATUREENABLED CoInternetIsFeatureEnabled; + wchar_t *processName_; +}; + +#endif NULLSOFT_WINAMP_INTERNET_FEATURES_HELPER_HEADER
\ No newline at end of file |