viemu可以在visual studio上使用vi编辑器的键盘操作,写代码效率可以大大提高,是vimer's最爱的插件之一。可惜viemu是收费软件。
有网友找到了破解方法,转载一下:https://lingyixia.github.io/2019/02/23/ViEmu/
总共需要删除两个地方:
1 2 | 1. HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{目录ID}的InprocServr32 2. C:\Users\用户名\AppData\Local\Identities\{ID项} |
对于要删除的第二个很容易,直接找到删除即可,问题是第一个,该目录下的项有很多,现在需要找的是ViEmu的目录ID
第一步
我们需要找到所ViEmu的VSHub.dll,目录ID记录在这个DLL文件里边
该文件应该在:
C:\Users\用户名\AppData\Local\Microsoft\VisualStudio\15.0_f45ae071\Extensions\h0npgwe4.q4b,也不一定,使用everything查一下即可
第二部
1.使用Reflector(.net的反编译器,可以在网上下载)打开该DLL,找到VSHub命名空间下的Hub类,找到Initialize(RegistryKey)方法并点击进入,在对应的代码中,找到ViEmuProt.InitializeLicenseStuff(this.m_productData);这一句代码,如下图所示:
2.点击进入ViEmuProt.InitializeLicenseStuff这个方法,找到其中的vep_WriteTrialPeriodControlItemsIfFirstTime(_productData)函数,如下图所示(这个函数就是写注册表的函数)
3.再次点击进入该函数,如下图:
红色框所示的函数即为写注册表的函数,可以看到,这个CreateSubKey(name)函数中对应的name参数就是我们需要的目录ID,那么这个ID是怎么来的呢?
可以看到,这个参数是通过函数的第一条语句得到的(图中蓝色框)
4.点击进入GenerateTrialControlRegKeyName(_productData)函数(上图蓝框),如下图所示:
VS插件对应的product是0,所以,目录ID就是最下边那个{B9CDA4C6-C44F-438B-B5E0-C1B39EA864C4}