标签:适用于 注册 interface 最好 appdata 编辑 cte ati option
WinEdt 是目前我发现最好的LaTeX编辑器,但是在国内支付不便,且学生许可需$40,只能出此下策,望有余力者尽量购买正版。
WinEdt 的旧版本的破解方法众所周知,只需定时删除HKCU\SoftWare\WinEdt 7\Inst这个注册表键值即可(这个注册表键记录了安装的时间,以分钟为单位),可以把这个操作写在WinEdt的退出时调用的宏里面。(CTeX发行版里的WinEdt 7也是如此破解的)
但是对于WinEdt的新版本(10.1),这个方法部分失效,我经过试验与对比,发现它会向%AppData%\WinEdt Team\WinEdt 10\WinEdt.dnt里面写东西,第二行那组数字(类似‘1089357896771240110’)与安装时间密切相关。如果发现注册表键不存在,一般会根据这个记录算出一一对应的注册表键写入注册表。但如果这个值是安装后的初始值‘1089357896855742345’,则将当前时间写入注册表,并且计算出当前时间对应的数字写入WinEdt.dnt。另外如果WinEdt.dnt中的数值恰为‘1089357896855742345’时(认为可能被破解者改回?),且注册表中有时间记录,那这个数字也会被根据注册表中时间计算出的正确的时间替换。所以如果要恢复原始的试用时间,需要同时修改WinEdt.dnt和删除注册表。
WinEdt.dnt在WIN7系统中默认安装位置是:C:\Users\Administrator\AppData\Roaming\WinEdt Team\WinEdt 10,其他系统类似。
现在找到破解方法如下
1.打开菜单option-option interface-Advanced Configuration-Event Handlers-Exit
2.在退出宏中添加以下语句,位置是:在语句Exe(‘%b\Config\Cleanup.edt’);后,在语句PopTagsandRegisters;前
1 RegDeleteValue(‘HKEY_CURRENT_USER‘, ‘Software\WinEdt 10‘, ‘Inst‘);
2 //I‘m not clear what WinEdt.skd is exactly used for
3 DeleteFile(‘%B\WinEdt.skd‘);
4
5 //ONLY FOR WinEdt 10
6 //Tampering WinEdt.dnt
7 ReadFile( "%b\WinEdt.dnt", 1, 0, 0, 0 );
8 ReplaceInString( "%!1", "1089357896855742345", 4, 23, 0, 2 );
9 WriteFile( "%b\WinEdt.dnt", "%!2", 0, 0, 0, "" );
即可。
另外我不太清楚WinEdt.skd起什么作用,似乎不删除并无妨,如果有人知道请告诉我,谢谢。
更新:这种方法同样适用于WinEdt 10.2
转自:
标签:适用于 注册 interface 最好 appdata 编辑 cte ati option
原文地址:http://www.cnblogs.com/dmzhuo/p/6689521.html