using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Win32;
using System.IO;
namespace RecentClear
{
public enum IdeVersion
{
IDE90,
IDE10
}
public class Recent
{
private IdeVersion versionSelect = IdeVersion.IDE90;
public Recent(IdeVersion setVersion)
{
versionSelect = setVersion;
}
public bool clear()
{
bool status = false;
RegistryKey key = Registry.CurrentUser.CreateSubKey(GetVersion(versionSelect));
string[] list = key.GetValueNames();
try
{
foreach (string k in list)
{
if (IsFileSolution(key.GetValue(k).ToString()))
key.DeleteValue(k);
}
status = true;
}
catch
{
status = false;
}
if (list.Length == 0)
status = true;
return status;
}
private bool IsFileSolution(string filePath)
{
bool status = false;
try
{
FileInfo file = new FileInfo(filePath);
if (file.Extension == ".sln" || file.Extension == ".csproj")
status = true;
else
status = false;
}
catch
{
if (filePath.Contains("vdproj") || filePath.Contains(".sln") || filePath.Contains(".csproj"))
status = true;
else
status = false;
}
return status;
}
private string GetVersion(IdeVersion versionSelect)
{
string version = @"Software\Microsoft\VisualStudio\";
switch (versionSelect)
{
case IdeVersion.IDE90:
version += "9.0";
break;
case IdeVersion.IDE10:
version += "10.0";
break;
}
version += "\\ProjectMRUList";
return version;
}
}
}
Burada gördüyseniz eğer önemli olan kıstaslar regedit teki adres satırları ve bu oluşturulacak dll hem 2008 de hemde 2010 da güzel bir şekilde çalışıyor örnek olarak bir application yapalım;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using RecentClear;
namespace SolutionClean
{
class Program
{
static void Main(string[] args)
{
RecentClear.Recent ide = new Recent(IdeVersion.IDE90);
if (ide.clear())
{
Console.WriteLine("Proje Listesi Temizlendi");
Console.ReadLine();
}
else
{
Console.WriteLine("Proje Listesi Temizlenemedi");
Console.ReadLine();
}
}
}
}
Bir Console application yada artık size kalmış windows application da olabilir yaratıp önceden yaratmış olduğumuz dll imizi projemize reference ediyoruz ve sonrası zaten bilen arkadaşlar için kolay...
Hiç yorum yok:
Yorum Gönder