程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#寫IE配置工具

C#寫IE配置工具

編輯:C#入門知識

最近在做OA的時候,碰到需要手動的修改IE的許多配置項,比如下載文件提示,ActiveX提示,浏覽器標簽設置,感覺如果都讓用戶來手動配置的話,估計每個用戶都會很煩,尤其是計算機水平不高的用戶。經過一段時間的摸索,發現所有的IE設置都是存在注冊表中的,何不自己寫一個修改注冊表的工具呢,我的需求是這樣的:

1、需要修改幾個IE的配置項,在OA運行的時候,去掉安全提示,讓用戶用起系統來感覺很流暢。

2、在系統登錄之後彈出全屏的IE窗口,這個用window.open()來做,效果還不錯,但是如果用戶的IE設置時在新選項卡中打開新窗口的話,達不到效果,而且如果用戶啟用了攔截窗口的話,window.open是彈不出窗口的。

3、在桌面生成一個快捷方式,直接點擊快捷方式進入OA登錄頁面。

先上圖:

下面是代碼:

private void btnOK_Click(object sender, EventArgs e)
{
if (txtAddress.Text.Trim() == "")
{
MessageBox.Show("請輸入OA地址");
return;
}
try
{
string ipAddress = txtAddress.Text.Replace("http://", "");
//修改信任站點的安全設置
RegistryKey key = Registry.CurrentUser;
RegistryKey subkey = key.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2", true);
subkey.SetValue("1001", 0);
subkey.SetValue("1004", 0);
subkey.SetValue("1200", 0);
subkey.SetValue("1201", 0);
subkey.SetValue("1208", 0);
subkey.SetValue("1209", 0);
subkey.SetValue("1405", 0);
subkey.SetValue("1803", 0);
subkey.SetValue("1806", 0);
subkey.SetValue("1809", 1);
subkey.SetValue("2000", 0);
subkey.SetValue("2200", 0);
subkey.SetValue("2201", 0);
//修改選項卡顯示方式
RegistryKey tabKey = key.OpenSubKey("Software\\Microsoft\\Internet Explorer\\TabbedBrowsing", true);
if (tabKey == null)
{
MessageBox.Show("IE浏覽器沒有初始化");
return;
}
tabKey.SetValue("PopupsUseNewWindow", 0);

if (radioButton1.Checked)
{
//添加IP到信任站點
string ipStr = ipAddress.Split('/')[0];
RegistryKey hkml = Registry.CurrentUser;//讀取HKEY_CURRENT_USER
string address = @"SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\INTERNET SETTINGS\ZONEMAP\RANGES";
RegistryKey key1 = hkml.OpenSubKey(address, true);
RegistryKey Name1 = key1.CreateSubKey("RANGES1");//新建項
Name1.SetValue(":Range", ipStr, RegistryValueKind.String);//賦值
Name1.SetValue("http", 0x2, RegistryValueKind.DWord);//賦值
}
else
{
//添加信任站點
string domainStr = ipAddress.Split('/')[0];
string[] domainStrs = domainStr.Split('.');
string domainName = "";
for (int i = 1; i < domainStrs.Length; i++)
{
domainName += domainStrs[i] + ".";
}
domainName = domainName.Trim('.');
RegistryKey hkml = Registry.CurrentUser;//讀取HKEY_CURRENT_USER
string address = @"SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\INTERNET SETTINGS\ZONEMAP\Domains";
RegistryKey key1 = hkml.OpenSubKey(address, true);
RegistryKey domain = key1.CreateSubKey(domainName);//新建項
RegistryKey ww = domain.CreateSubKey("www");//新建子項 www按需求替換
ww.SetValue("https", 0x2, RegistryValueKind.DWord);//賦值
}
//創建快捷方式
WshShell shell = new WshShell();
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "//" + txtShortCut.Text.Trim() + ".lnk");
shortcut.TargetPath = IEFilePath();
shortcut.Arguments = txtAddress.Text;
shortcut.WindowStyle = 3;//窗體最大化
shortcut.Description = "測繪OA快速啟動方式";
shortcut.IconLocation = Application.StartupPath + "\\FrmIcon.ico";//圖標
shortcut.Save();
MessageBox.Show("配置成功");
Application.Exit();
}
catch (Exception)
{
MessageBox.Show("請確保OA地址是否填寫正確");
}
}

/// <summary>
/// 獲取IE浏覽器的路徑
/// </summary>
/// <returns></returns>
public string IEFilePath()
{
return System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "Internet Explorer\\iexplore.exe");
}

至此完美完成。

運行輸入相應項之後生成快捷方式:

點擊進入:

登錄之後就會顯示全屏窗口:

至此,完成配置工具的開發,桌面上的圖片感覺和整個系統不配套,有人有好的圖片麼?沒美工就是痛苦啊 如有人有興趣為系統設計一張桌面圖片 請聯系本人  本人可以出一部分錢哦  呵呵  不喜勿噴...

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved