C#控制IE進(jìn)程關(guān)閉和緩存清理的實(shí)現(xiàn)代碼
更新時(shí)間:2014年04月15日 10:25:56 作者:
這篇文章主要介紹了C#控制IE進(jìn)程關(guān)閉和緩存清理的實(shí)現(xiàn)代碼,需要的朋友可以參考下
復(fù)制代碼 代碼如下:
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>
/// 刪除臨時(shí)文件
/// </summary>
public static void CleanTempFiles() {
FolderClear(Environment.GetFolderPath(Environment.SpecialFolder.InternetCache));
RunCmd("RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8");
}
}
相關(guān)文章
C#調(diào)用RabbitMQ實(shí)現(xiàn)消息隊(duì)列的示例代碼
這篇文章主要介紹了C#調(diào)用RabbitMQ實(shí)現(xiàn)消息隊(duì)列的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
C#中winform窗體實(shí)現(xiàn)注冊(cè)/登錄功能實(shí)例(DBHelper類)
在編寫項(xiàng)目時(shí),編寫了一部分關(guān)于登錄頁(yè)面的一些代碼,下面這篇文章主要給大家介紹了關(guān)于C#中winform窗體實(shí)現(xiàn)注冊(cè)/登錄功能(DBHelper類)的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
C#使用windows服務(wù)開(kāi)啟應(yīng)用程序的方法
這篇文章主要介紹了C#使用windows服務(wù)開(kāi)啟應(yīng)用程序的方法,實(shí)例分析了C#操作windows服務(wù)開(kāi)啟應(yīng)用程序所遇到的問(wèn)題及相關(guān)解決技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
C#同步網(wǎng)絡(luò)時(shí)間的方法實(shí)例詳解
這篇文章主要介紹了C#同步網(wǎng)絡(luò)時(shí)間的方法,以實(shí)例形式較為詳細(xì)的分析了C#獲取網(wǎng)絡(luò)時(shí)間與同步本機(jī)系統(tǒng)時(shí)間的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05

