目标
删除Viemu在本机上的时间记录文件
总共需要删除两个地方:1
21. 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}