C#控制IE進程關閉和緩存清理的實現(xiàn)代碼
更新時間:2014年04月15日 10:25:56 作者:
這篇文章主要介紹了C#控制IE進程關閉和緩存清理的實現(xiàn)代碼,需要的朋友可以參考下
復制代碼 代碼如下:
class IEUtil {
public static void openIE(string url) {
try {
//System.Diagnostics.Process.Start(url);
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "iexplore.exe";
p.StartInfo.Arguments = url;
p.Start();
} catch(Exception ex) {
Log.logger("openIE" + url + "----------" + ex.Message);
}
}
public static void closeAllIEProcess() {
string defaultBrowserName = GetDefaultBrowerName();
System.Diagnostics.Process[] procs = System.Diagnostics.Process.GetProcessesByName("IEXPLORE");
foreach(System.Diagnostics.Process proc in procs) {
proc.Kill();
}
}
public static void CleanCookie() {
try {
string[] theFiles = System.IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.Cookies), "*", System.IO.SearchOption.AllDirectories);
foreach(string s in theFiles) FileDelete(s);
} catch(Exception e) {
Log.logger("Delete cookie error" + e.Message);
}
}
static bool FileDelete(string path) {
//first set the File's ReadOnly to 0
//if EXP, restore its Attributes
System.IO.FileInfo file = new System.IO.FileInfo(path);
System.IO.FileAttributes att = 0;
bool attModified = false;
try {
//### ATT_GETnSET
att = file.Attributes;
file.Attributes &= (~System.IO.FileAttributes.ReadOnly);
attModified = true;
file.Delete();
} catch(Exception e) {
if (attModified) file.Attributes = att;
return false;
}
return true;
}
public static string GetDefaultBrowerName() {
string mainKey = @"http\shell\open\command";
string nameKey = @"http\shell\open\ddeexec\Application";
string strRet = string.Empty;
try {
RegistryKey regKey = Registry.ClassesRoot.OpenSubKey(nameKey);
strRet = regKey.GetValue("").ToString();
} catch {
strRet = "";
}
return strRet;
}
/// <summary>
/// 清除文件夾
/// </summary>
/// <param name="path">文件夾路徑</param>
static void FolderClear(string path) {
System.IO.DirectoryInfo diPath = new System.IO.DirectoryInfo(path);
if (diPath.Exists) {
foreach(System.IO.FileInfo fiCurrFile in diPath.GetFiles()) {
FileDelete(fiCurrFile.FullName);
}
foreach(System.IO.DirectoryInfo diSubFolder in diPath.GetDirectories()) {
FolderClear(diSubFolder.FullName);
// Call recursively for all subfolders
}
}
}
/// <summary>
/// 執(zhí)行命令行
/// </summary>
/// <param name="cmd"></param>
static void RunCmd(string cmd) {
ProcessStartInfo p = new ProcessStartInfo();
p.FileName = "cmd.exe";
p.Arguments = "/c " + cmd;
p.WindowStyle = ProcessWindowStyle.Hidden; // Use a hidden window
Process.Start(p);
}
/// <summary>
/// 刪除臨時文件
/// </summary>
public static void CleanTempFiles() {
FolderClear(Environment.GetFolderPath(Environment.SpecialFolder.InternetCache));
RunCmd("RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8");
}
}
相關文章
C#操作Clipboard讀取剪切板中數(shù)據(jù)實例詳解
這篇文章主要介紹了C#操作Clipboard讀取剪切板中數(shù)據(jù)的方法,實例分析了C#讀取剪貼板數(shù)據(jù)的具體步驟與實現(xiàn)技巧,需要的朋友可以參考下2015-05-05C#中HttpWebRequest、WebClient、HttpClient的使用詳解
這篇文章主要介紹了C#中HttpWebRequest、WebClient、HttpClient的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12