Also Covers
Add trusted site in Internet Explorer in C#.
How to change Internet Explorer Settings like ActiveX enable disable in C#?
How to all Run Java in IE programmatically in C#?
Hi all, if you families with C# look at the below Helper Class IEOptions.cs and its implementation in program.cs.
It is a simple console application which help you to change IE settings.
IEOptions.cs Code
Program.cs
Add trusted site in Internet Explorer in C#.
How to change Internet Explorer Settings like ActiveX enable disable in C#?
How to all Run Java in IE programmatically in C#?
Hi all, if you families with C# look at the below Helper Class IEOptions.cs and its implementation in program.cs.
It is a simple console application which help you to change IE settings.
IEOptions.cs Code
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace Change_Internet_Explorer_Settings_In_CSharp
{
class IEOptions
{
public class Security
{
public enum Zones
{
My_Computer = 0,
Local_Intranet_Zone = 1,
Trusted_sites_Zone = 2,
Internet_Zone= 3,
Restricted_Sites_Zone= 4
}
public enum CustomLevelSettings
{
ActiveX_plugins_Download_signed_ActiveX_controls= 1001,
ActiveX_plugins_Download_unsigned_ActiveX_controls= 1004,
ActiveX_plugins_Run_ActiveX_controls_and_plug_ins= 1200,
ActiveX_plugins_Initialize_and_script_ActiveX_controls = 1201,
Miscellaneous_Allow_scripting_of_Internet_Explorer_Web_browser_control= 1206,
Reserved= 1207,
ActiveX_plugins_Allow_previously_unused_ActiveX_controls_to_run_without_prompt= 1208,
ActiveX_plugins_Allow_Scriptlets= 1209,
ActiveX_controls_and_plug_ins_Script_ActiveX_controls_marked_as_safe_for_scripting= 1405,
Scripting_Active_scripting= 1400,
Scripting_Scripting_of_Java_applets= 1402,
Miscellaneous_Access_data_sources_across_domains= 1406,
Scripting_Allow_Programmatic_clipboard_access= 1407,
Scripting_Enable_XSS_Filter= 1409,
Miscellaneous_Submit_non_encrypted_form_data= 1601,
Downloads_Font_download= 1604,
Run_Java= 1605,
Miscellaneous_Userdata_persistence= 1606,
Miscellaneous_Navigate_sub_frames_across_different_domains = 1607,
Miscellaneous_Allow_META_REFRESH= 1608,
Miscellaneous_Display_mixed_content= 1609,
Miscellaneous_Installation_of_desktop_items= 1800,
Miscellaneous_Drag_and_drop_or_copy_and_paste_files= 1802,
Downloads_File_Download= 1803
}
public enum Values
{
Enable = 0,
Disable = -1,
Prompt = 1,
}
public static string AddTrustedSites(string url, int zone)
{
string _resp = "";
try
{
Match match = Regex.Match(url, @"\A(.+)://((.+)\.)?([^.]+\.[^.]+)\Z");
string protocol = match.Groups[1].Value;
string subdomain = match.Groups[3].Value;
string domain = match.Groups[4].Value;
if (domain == "")
{
match = Regex.Match(url, @"\A(.+)://(.+)\Z");
protocol = match.Groups[1].Value;
subdomain = "";
domain = match.Groups[2].Value;
}
if (protocol == "" || domain == "")
{
throw new Exception("Invalid URL " + url + ". Url must start with http:// OR https://");
}
string key = "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Domains\\" + domain;
RegistryKey regKeyDomain = Registry.CurrentUser.CreateSubKey(key);
using (regKeyDomain)
{
if (subdomain == "")
{
regKeyDomain.SetValue(protocol, zone);
}
else
{
RegistryKey regKeySubdomain = regKeyDomain.CreateSubKey(subdomain);
using (regKeySubdomain)
{
regKeySubdomain.SetValue(protocol, zone);
}
}
_resp = "success:" + url + " added as trusted site.";
}
}
catch (Exception ex)
{
_resp = "failed:" + ex.Message;
}
return _resp;
}
public static string SetCustomLevelSetting(int zone, int setting, int value)
{
string resp = "";
try
{
RegistryKey ChangeSettings = Registry.CurrentUser.OpenSubKey(@"Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\" + (int)zone, true);
if (ChangeSettings.GetValue(setting.ToString(), zone).ToString() != value.ToString())
{
ChangeSettings.SetValue(((int)setting).ToString(), value , RegistryValueKind.DWord);
}
ChangeSettings.Close();
resp = "success:" + ((CustomLevelSettings)setting).ToString().Replace("_"," ") + " : " + ((Values)value).ToString() ;
}
catch (Exception ex)
{
resp = "failed:" + ex.Message;
}
return resp;
}
}
}
}
Program.cs
using System;
using System.Collections.Generic;
using System.Text;
namespace Change_Internet_Explorer_Settings_In_CSharp
{
class Program
{
static void Main(string[] args)
{
Console.Title = "Capricorn CA 2014 Tool for IE settings";
Console.WriteLine("\n\nProcessing...\n");
string t1 = IEOptions.Security.AddTrustedSites("http://www.asptricks.net", (int)IEOptions.Security.Zones.Trusted_sites_Zone);
string s1 = IEOptions.Security.SetCustomLevelSetting(
(int)IEOptions.Security.Zones.Trusted_sites_Zone,
(int)IEOptions.Security.CustomLevelSettings.ActiveX_plugins_Download_signed_ActiveX_controls,
(int)IEOptions.Security.Values.Prompt
);
string s2 = IEOptions.Security.SetCustomLevelSetting(
(int)IEOptions.Security.Zones.Trusted_sites_Zone,
(int)IEOptions.Security.CustomLevelSettings.ActiveX_plugins_Initialize_and_script_ActiveX_controls,
(int)IEOptions.Security.Values.Enable
);
string s3 = IEOptions.Security.SetCustomLevelSetting(
(int)IEOptions.Security.Zones.Trusted_sites_Zone,
(int)IEOptions.Security.CustomLevelSettings.ActiveX_plugins_Run_ActiveX_controls_and_plug_ins,
(int)IEOptions.Security.Values.Enable
);
if (
t1.StartsWith("success:") &&
s1.StartsWith("success:") &&
s2.StartsWith("success:") &&
s3.StartsWith("success:")
)
{
Console.WriteLine("All required setting configured. :-)\n");
Console.WriteLine("Press [Enter] to exit..");
}
else {
Console.WriteLine(t1);
Console.WriteLine(s1);
Console.WriteLine(s2);
Console.WriteLine(s3);
}
Console.Read();
}
}
}
