开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 19700|回复: 3

DayPilot去DEMO标记操作笔记

[复制链接]

0

精华

0

贡献

4417

赞扬

帖子
124
软币
10303
在线时间
687 小时
注册时间
2015-1-5
发表于 2018-12-4 11:10:07 | 显示全部楼层 |阅读模式
本帖最后由 miaojinming 于 2022-4-10 12:51 编辑

DayPilot去DEMO标记操作笔记(2022.4更新)

前言
作为菜鸟,把最新版的Daypilot Pro的DEMO字样去除,还是有一点成就感的。将破解过程做一个详细笔记,以便以后新版出来破解少走弯路,并将方法共享出来。
用过Daypilot控件的人应该知道,该控件为js控件,体积很小,但是用途很广,基本上排程之类的都可以做,比如,宾馆房间预定和实时管理、饭店餐桌预定及实时管理、值班排班、项目进度管理、会议室、车辆、医院医生预约等预定排班等等,而且界面简洁,数据输入直接在显示版面上点击相关元素就可以进行输入编辑,非常直观,查看也是直接点击就可查看数据,特别适合于管理人员用途。但是官方发布的试用版本(目前最高版本为DayPilotPro-2022.1.3686),该软件试用版在左上角都带有红色背景的DEMO标志,可以直接使用,功能也不受限,只是有个DEMO标记,看起来不爽。该控件有几个版本,主要的是JavaScript版本、ASP.NET版本,ASP.NET版本是以dll库的形式调用的,如想去掉DEMO字样,就必须对dll库破解。
想到这个方法后,着手试了一下,果然可以。将DayPilot.dll反编译后,得到9个js文件,在其中3个文件中找到了生成DEMO字样的代码。
DayPliot的网页图界面:
甘特图
屏幕截图 2022-04-08 175641.png

排程表
22.jpg
饭店订餐:
asp.net-scheduler-restaurant-reservation.png
DayPilot js版本可以直接通过修改代码中的DEMO,在daypilot-all.min.js文件中搜索下DEMO的Unicode编码:\u0044\u0045\u004d\u004f,搜索“\u0044\u0045\u004d\u004f”,删除相应的代码段,即可达到目的。而ASP.Net版本的DayPilot是DayPilot.Dll库文件,需通过修改Dll文件达到。

需要用到3个主要工具:
1:微软工具ildasm.exe:这个是把DLL生成IL文件的一个软件,是微软自带的;可以在C:\Program Files\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1Tools\找到该软件;
2:微软的工具ilasm.exe:这个是把IL文件重新生成DLL的程序,可以在C:\Windows\Microsoft.NET\Framework\v4.0.30319找到该软件;
3:微软的dll强签名生成工具:目录位置在C:\Program Files\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1Tools\sn.exe
以上3个工具文件,系统必须安装了Visual Studio才有,不同的windows版本和不同的Visual Studio版本,版本目录不同。安装了Visual Studio才会生成Microsoft SDKs。其中工具2和工具3是在命令提示符下运行的。

操作:

  • 运行ildasm.exe(可以快捷键复制到桌面),打开DayPilot.Dll,转储采用缺省设置即可,转储(转储名称daypilot)完成后,可在当前目录下看到如下文件:

   daypilot.il
   daypilot.res
   DayPilot.Resources.Bubble.js
   DayPilot.Resources.Calendar.js
   DayPilot.Resources.Common.js
   DayPilot.Resources.Datepicker.js
   DayPilot.Resources.Gantt.js
   DayPilot.Resources.Images.Delete10x10.gif
   DayPilot.Resources.Images.Down.png
   DayPilot.Resources.Images.Left10x10.gif
   DayPilot.Resources.Images.Right10x10.gif
   DayPilot.Resources.Images.TreeImageCollapse.png
   DayPilot.Resources.Images.TreeImageExpand.png
   DayPilot.Resources.Images.TreeImageNoChildren.png
   DayPilot.Resources.Images.Up.png
   DayPilot.Resources.Menu.js
   DayPilot.Resources.Month.js
   DayPilot.Resources.Navigator.js
   DayPilot.Resources.Scheduler.js

在上述加粗的三个文件中,可搜索到“\u0044\u0045\u004d\u004f”字符串。对这三个文件用“记事本”进行编辑。

DayPilot.Resources.Calendar.js删除以下代码段

var $2E=document.createElement("div");$2E.style.position='absolute';$2E.style.padding='2px';$2E.style.top='0px';$2E.style.left='1px';$2E.style.backgroundColor="#FF6600";$2E.style.color="white";$2E.innerHTML="\u0044\u0045\u004D\u004F";$2E.setAttribute("unselectable","on");if(DayPilot.Util.isNullOrUndefined(undefined))$28.appendChild($2E);

DayPilot.Resources.Month.js中删除以下代码:

if(!DayPilot.contains(this.nav.top.childNodes,$0T)&&DayPilot.Util.isNullOrUndefined(undefined)){var$y=document.createElement("div");$y.style.position='absolute';$y.style.padding='2px';$y.style.top='0px';$y.style.left='0px';$y.style.backgroundColor="#FF6600";$y.style.color="white";$y.innerHTML="\u0044\u0045\u004D\u004F";$0T=$y;this.nav.top.appendChild($y);}

DayPilot.Resources.Scheduler.js中删除以下代码(2021年以前的版本):

var $89=document.createElement("div");$89.style.position='absolute';$89.style.padding='2px';$89.style.top='0px';$89.style.left='1px';$89.style.backgroundColor="#FF6600";$89.style.color="white";$89.innerHTML="\u0044\u0045\u004D\u004F";if(DayPilot.Util.isNullOrUndefined(undefined))$02.appendChild($89);

版本DayPilotProTrial-2022.1.3810 的 DayPilot.Resources.Scheduler.js,删除以下代码:

var$aC=$k();$aC.style.position='absolute';$aC.style.padding='2px';$aC.style.top='0px';$aC.style.left='1px';$aC.style.backgroundColor="#FF6600";$aC.style.color="white";$aC.innerHTML="\u0044\u0045\u004D\u004F";if(DayPilot.Util.isNullOrUndefined(undefined))$0d.appendChild($aC);

编辑完成后进行保存(注:不同版本上述代码段中的参数名称可能不同)。

2.生成强签名文件
为方便操作,将C:\ProgramFiles\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\sn.exe文件拷贝到D:盘根目录下。
在D;盘根目录下运行sn.exe -k key.snk,可在当前目录下生成key.snk的签名文件,将该文件拷贝到上述转储的文件目录内。
3.编译
在命令提示符下,进入上述转储的文件目录(最好在根目录内)运行以下命令:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe /dll /resource=daypilot.res daypilot.il /KEY=key.snk
即重新编译形成了DayPilot.Dll。
(可预先将上述命令复制,在命令提示符下,点鼠标右键即可粘贴,不需手动输入,避免出错)

4.效果
屏幕截图 2022-04-08 101539.png

回复

使用道具 举报

0

精华

0

贡献

4417

赞扬

帖子
124
软币
10303
在线时间
687 小时
注册时间
2015-1-5
 楼主| 发表于 2020-7-3 23:28:23 | 显示全部楼层
最新版本:DayPilotPro-2020.2.3743
回复

使用道具 举报

0

精华

0

贡献

4417

赞扬

帖子
124
软币
10303
在线时间
687 小时
注册时间
2015-1-5
 楼主| 发表于 2020-8-28 14:30:14 | 显示全部楼层
有最新去DEMO版DayPilotProl-2020.3.3769(Net4.0)提供下载,见 https://www.dxper.net/thread-45203-1-1.html
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-3-29 13:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表