[ComRegisterFunctionAttribute]
public static void RegisterFunction(Type t)
{
try
{
RegistryKey LocaIMachine = Registry.LocalMachine;
RegistryKey MyPrograrm = LocaIMachine.CreateSubKey("SOFTWARE\\Autodesk\\AutoCAD\\R22.0\\ACAD-1001:804\\Applications\\mycad", true);
MyPrograrm.SetValue("DESCRIPTION", "cad插件", RegistryValueKind.String);//描述
MyPrograrm.SetValue("LOADCTRLS", 2, RegistryValueKind.DWord);//cad启动后自动加载
MyPrograrm.SetValue("LOADER", Assembly.GetExecutingAssembly().Location, RegistryValueKind.String);//dll的全路径
MyPrograrm.SetValue("MANAGED", 1, RegistryValueKind.DWord);
}
catch (System.NullReferenceException nl)
{
Console.WriteLine("There was a problem registering this dll: SWattr is null. \n\"" + nl.Message + "\"");
System.Windows.Forms.MessageBox.Show("There was a problem registering this dll: SWattr is null.\n\"" + nl.Message + "\"");
}
catch (System.Exception e)
{
Console.WriteLine(e.Message);
System.Windows.Forms.MessageBox.Show("There was a problem registering the function: \n\"" + e.Message + "\"");
}
}
[ComUnregisterFunctionAttribute]
public static void UnregisterFunction(Type t)
{
try
{
Microsoft.Win32.RegistryKey hklm = Microsoft.Win32.Registry.LocalMachine;
string keyname = "SOFTWARE\\Autodesk\\AutoCAD\\R22.0\\ACAD-1001:804\\Applications\\mycad";
hklm.DeleteSubKey(keyname);
}
catch (System.NullReferenceException nl)
{
Console.WriteLine("There was a problem unregistering this dll: " + nl.Message);
System.Windows.Forms.MessageBox.Show("There was a problem unregistering this dll: \n\"" + nl.Message + "\"");
}
catch (System.Exception e)
{
Console.WriteLine("There was a problem unregistering this dll: " + e.Message);
System.Windows.Forms.MessageBox.Show("There was a problem unregistering this dll: \n\"" + e.Message + "\"");
}
}
#endregion
}
c# cad 插件
最新推荐文章于 2024-07-21 13:00:00 发布