VSTO插件开发完成后,鉴于现在WPS用户也不少,很多时候用户没办法用OFFICE软件,只能在WPS环境下办公,VSTO开发的插件,只需增加一句注册表信息,即可让WPS识别到并调用VSTO开发的功能,可能部分功能让WPS使用要考虑WPS是否有相应的API接口,这是后话,本帖给大家粘出代码及程序,让用户双击即可完成,exe封装,无需给用户注册表文件让用户畏惧或其他安全软件报警。
为了让所有插件都能顺利被WPS识别到,索性来一个遍历,所有插件都在注册表里添加一条记录供WPS识别,注册表增加几条记录,也不算是什么垃圾拥堵(WPS安装过程中貌似也注入了大量的常规用户会安装到的插件,实际电脑上没有安装过也会注入,所以人家WPS还是人性化,为用户着想),也省下不少用户要为特定VSTO来每次做处理。
private static void AddRegistertToWPS()
{
try
{
//所有插件通用
RegistryKey key = Registry.CurrentUser;
Dictionary<string, string> dic = new Dictionary<string, string>()
{
{@"Software\Microsoft\Office\Excel\Addins",@"Software\Kingsoft\Office\ET\AddinsWL" },
{@"Software\Microsoft\Office\PowerPoint\Addins",@"Software\Kingsoft\Office\WPP\AddinsWL" },
{@"Software\Microsoft\Office\Word\Addins",@"Software\Kingsoft\Office\WPS\AddinsWL" },
};
foreach (var item in dic)
{
var addins = key.OpenSubKey(item.Key, true);
var wps = key.CreateSubKey(item.Value);
foreach (var subKeyName in addins.GetSubKeyNames())
{
wps.SetValue(subKeyName, subKeyName, RegistryValueKind.String);
}
}
}
catch (Exception)
{
}
}