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之前就好了!!


加油啦!祝你順利!

*轉發請標明出處!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章