using System;
using Microsoft.Win32;
namespace CheckClsidPerm
{
class Program
{
static void Main(string[] args)
{
RegistryKey clsid = Registry.LocalMachine.OpenSubKey(@"Software\Classes\CLSID");
string[] clsids = clsid.GetSubKeyNames();
Console.WriteLine("found {0} keys", clsids.Length);
foreach (string s in clsids)
{
try
{
using(RegistryKey clsidKey = clsid.OpenSubKey(s))
{
using(RegistryKey ic = clsidKey.OpenSubKey("Implemented Categories"))
{
}
}
}
catch( Exception e )
{
Console.WriteLine("error while reading key {0}: {1}", s, e.Message);
}
}
}
}
}