teechart在注册表的跟目录为HKEY_CLASSES_ROOT\CLSID,以下的子目录会根据版本的不同发生改变,但是最底级的目录是TypeLib(例如[HKEY_CLASSES_ROOT\CLSID\{32282C17-C58C-4df7-9A31-999B492F74FB}\TypeLib]),键值为"{9DE"+两位日期+"E6D-95"+两位年份+"-48F8-928B-464641FF"+两位月份+"79}"(例如:{9DE20E6D-9513-48F8-928B-464641FF0779})。只需要修改年份的两位数字为99就可以了.

方法二(通过程序写入):

在Program.cs中,添加方法

private static void RegisterChart()
{
try
{
Microsoft.Win32.RegistryKey registryKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey("CLSID\\{32282C17-C58C-4df7-9A31-999B492F74FB}\\Typelib", true);
if (registryKey == null)
{
registryKey = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey("CLSID\\{32282C17-C58C-4df7-9A31-999B492F74FB}\\Typelib");
}
else
{
if (registryKey.GetValue("").ToString() != "{9DE20E6D-9599-48F8-928B-464641FF0779}")
{
registryKey.SetValue("", "{9DE20E6D-9599-48F8-928B-464641FF0779}");
}
}
}
catch (System.Exception ex)
{
System.Console.WriteLine(ex.ToString());
}
}

在工程中添加App.manifest文件,并修改权限,重新生成即可。

04-29 03:05