WinEdt 10.2破解教程【适用于WinEdt 10版本及以上】


在写论文的时候遇到了问题,说是WinEdt试用到期了!!!!!非常难过,传统的输入激活码的破解方式在WinEdt10及以上版本失效了。。。。。。


以上是背景,无奈,写LATEX还是习惯用WinEdt,搜索了各种方法,比较多的方法是利用WinEdt的退出事件,删除注册表对于试用天数的键值,这样的效果…就是永远都是在试用,而且试用期限永远都是剩下31天,是不是非常完美???!!!


也是出于好奇,我也认真分析了WinEdt的注册表的内容。。。通过组合键【Win】+【R】打开运行窗口,输入【regedit】打开注册表,WinEdt注册表具体路径是:

计算机\HKEY_CURRENT_USER\Software\WinEdt 10

单击WinEdt 10这一项,可以看到有以下几个键值:

AccountType
AppData
Install Build
Install Root
LastStartTickCount
Name
StartMenuFolder
Inst

借鉴别人的做法,是在WinEdt的关闭事件中,添加删除Inst的相关代码语句。Inst记录了软件从安装到现在所经过的时间,当然是按照他们定义的方式去记录的。代码如下:

RegDeleteValue('HKEY_CURRENT_USER', 'Software\WinEdt 10', 'Inst');

但是,经过测试,这种方法对于WinEdt 10.2是无效的。那是为什么呢?在系统文件夹下,其中还存在一个记录注册表内容的文件,也就是说,记录软件安装时间的,不仅有注册表,还有一个专门的文件,当软件检测到注册表被删除,就会把文件中的值赋值给注册表,这样的话,再怎么删除注册表也是白搭呀!那么,如果我同时修改文件中的数值,是不是就可以完美解决呢??答案是肯定的。这个文件名字叫做WinEdt.dnt,位于C:\Users\zhang\AppData\Roaming\WinEdt Team\WinEdt 10,要添加什么代码呢?具体代码如下:

RegDeleteValue('HKEY_CURRENT_USER', 'Software\WinEdt 10', 'Inst');
DeleteFile('%B\WinEdt.skd');

ReadFile('%b\WinEdt.dnt',1,0,0,0);
ReplaceInString( "%!1", "1089357896855742345", 4, 23, 0, 2 );
WriteFile( "%b\WinEdt.dnt", "%!2", 0, 0, 0, "" ); 

其实,这篇博客写到这里就差不多应该结束了!

最后再说一下这个代码应该写在什么地方吧。

Options—->Options Interface—->Advanced Configuration—->Event Handlers—->Exit

写在End之前就好了!!


加油啦!祝你顺利!

*转发请标明出处!

你可能感兴趣的:(LATEX相关)