在线编辑器cuteeditor的那些事(内容是我从网上down的)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

用DotNet多年了,也经常看到一些非常好的控件,最烦躁有些控件做得比较好,但老是有限制或者要注册啊,CuteEditor就是其中一个。一直以为FreetextBox时做得最好的。后来在CnBlogs上面听一个网友讲CuteEditor不错,下回来一看果然不错,但是有使用限制。Reflector一看发现混淆过。
还是使用原来老的破击方法去掉强名,去掉验证特性,运行报错:无法装载指定的DLL。Reflector看发现 LicenseManager.Validate(typeof(Editor));去掉这一段话,编译运行,对象找不到实例。因为混淆没有耐心去仔细查看。反正没有地方要用,第一次放弃。
昨晚加班,反正没有Bug要改和同事聊到控件时,因为自己也做控件,觉得这个控件的做法非常不错,继续尝试一次吧。
去强名;
去验证的特性;
LicenseManager.Validate(typeof(Editor));  为LicenseManager.Validate(typeof(Object));
编译运行,发现Onprerender的时候a对象不存在。
在此找到构造函数追到 if (!EditorUtility.b())函数,下面方法可疑:改条件让他永远不执行吧
编译运行继续报同样的错误,
去掉protected override void OnPreRender(EventArgs e)中的 this.a.ad();
编译运行,这个时候错误在protected override void Render(HtmlTextWriter writer)地方出现。
确定a对象在OnPreRender之前被置为Null了。
因为代码混淆过了,这个时候用Reflector不好看执行顺序了,
用ilasm 编译成为Debug版本吧,用VS.Net的IDE环境来调试IL码,关键是找出什么时候被置为Null了,混淆的代码真乱,没耐心继续跟踪了,同事用IDE反复跟踪位置发现
stfld      class CuteEditor.Editor/a/a CuteEditor.Editor/a/a/a::a
在一段函数中两个字符串op_Inequality的时候ldnull
当然永远把他们改为op_Equality吧!
再次编译运行正确,并不需要注册文件。
改时间过一个月同样也 没有问题因为这个控件的授权方式还有好多种,所以也不知道破解得是不是充分。
有兴趣的可以下载测试吧。
破解包中本身以包含有完整的破解IL,大家可以继续修改和测试。

http://www.cnblogs.com/Files/minsky/CuteEditor_for_NET4.5_Crack%20by%20Minsky.part1.rar
http://www.cnblogs.com/Files/minsky/CuteEditor_for_NET4.5_Crack%20by%20Minsky.part2.rar
CuteEditor在很多网站上都有介绍了,是一款超级Cool的web在线编辑器,下载地址用google找一下就能找到,就不提供了,但是安装方法还是要说一下,因本次是使用vs2005。      我们在vs2005里面新建个web site吧,把CuteEditor.dll(主控件)、CuteEditor.lic(许可证)、CuteEditor.ImageEditor.dll(因为5.0增加了个EditorImage的功能)、NetSpell.SpellChecker.dll(拷这个的原因是默认打开拼写检查)这几个文件拷贝到web site的bin目录下,刷新bin目录(不像vs2003需要引用dll),同时我们也要把解压缩后的CuteSoft_Client目录全部拷贝到应用程序的根目录下。然后把CuteEditor添加到工具面板.我们在工具面板里面右键选择"选择项",在出来的对话框里面选择"游览",找到CuteEditor.dll,一路确定就可以了。

      我们再添加个CuteEditor.aspx,把工具面板里面的Editor拖到页面上来,这时你就可以运行你的程序使用CuteEditor了,运行如下图:


      上面的只是个最简单的安装,还有比如控制CueEditor的显示,已经安全性和那个什么上传的啊,还有控制用户上传的目录啊,或者给每个用户建个他们自己的图片目录啊,还必须要另外设置,这些暂时先略过吧,您可以自己看一下说明进行设置,这里不多说了。我们现在要开始要给CuteEditor增加高亮代码显示功能,俺这里使用的是CodeHighlighter控件,您可以到http://www.codehighlighter.com下载最新版,最新版同时支持.net1和.net2,因为使用的是vs2005,俺就使用了最新版,现在我们先来给CuteEditor增加一个按钮和打开插入高亮代码的页面代码。

CuteEditor.aspx代码

<%...@ Page Language="VB" AutoEventWireup="false" CodeFile="CuteEditor.aspx.vb" Inherits="_CuteEditor" %>
<%...@ Register Assembly="CuteEditor" Namespace="CuteEditor" TagPrefix="CE" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
<html xmlns="http://www.w3.org/1999/xhtml"; >
<head runat="server">
<title>web3.cn——给CuteEditor5增加了高亮代码显示功能</title>
<script language="JavaScript" type="text/javascript" >...
function ShowMyDialog(button)
...{
//use CuteEditor_GetEditor(elementinsidetheEditor) to get the cute editor instance
var editor=CuteEditor_GetEditor(button);
//show the dialog page , and pass the editor as newwin.dialogArguments
var newwin=showModelessDialog("insertcode.aspx?_rand="+new Date().getTime()
,editor,"dialogWidth:600px;dialogHeight:430px");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<CE:Editor ID="Editor1" runat="server">
</CE:Editor>
</div>
</form>
</body>
</html>




在CuteEditor.aspx.vb的Page_Load事件下增加代码

Protected Sub Page_Load()Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim pos As Integer

pos = Editor1.ToolControls.IndexOf("Italic") + 20

'图片位置(Themes/%ThemeName%/Images/csharp.gif)
Dim ctrl As System.Web.UI.WebControls.WebControl
ctrl = Editor1.CreateCommandButton("MyButton", "csharp.gif", "插入代码")

ctrl.Attributes("onclick") = "ShowMyDialog(this)"

'把按钮加入编辑器中
Editor1.InsertToolControl(pos, "MyButton", ctrl)
End Sub




运行如下图:



工具栏中多了一个按钮,接下来把codehighlighter的dll控件也按刚才的方法copy到bin目录下,再把Languages目录拷贝到应用程序根目录下,这里还要对web.config进行配置一下,在<configuration>的<configSections>下增加一句:


<section name="codeHighlighter" type="ActiproSoftware.CodeHighlighter.CodeHighlighterConfigurationSectionHandler, ActiproSoftware.CodeHighlighter.Net20" />






在<configuration>和</configuration>间加
<codeHighlighter>
<cache languageTimeout="3" />
<keywordLinking enabled="true" target="_blank" defaultKeywordCollectionKey="ActiproKeywords">
<keywordCollection key="ActiproKeywords">
<explicitKeyword tokenKey="IdentifierToken" patternValue="Actipro" url="http://www.actiprosoftware.com"; caseSensitive="false" />
<explicitKeyword tokenKey="IdentifierToken" patternValue="CodeHighlighter" url="http://www.codehighlighter.com"; caseSensitive="false" />
</keywordCollection>
</keywordLinking>
<languages>
<language key="BatchFile" definitionPath="~/Languages/ActiproSoftware.BatchFile.xml" />
<language key="C#" definitionPath="~/Languages/ActiproSoftware.CSharp.xml" semanticParserType="CodeHighlighterTest.SemanticCSharpParser, CodeHighlighterTest" />
<language key="CSS" definitionPath="~/Languages/ActiproSoftware.CSS.xml" semanticParserType="CodeHighlighterTest.SemanticCssParser, CodeHighlighterTest" />
<language key="HTML" definitionPath="~/Languages/ActiproSoftware.HTML.xml" semanticParserType="CodeHighlighterTest.SemanticHtmlParser, CodeHighlighterTest" />
<language key="INIFile" definitionPath="~/Languages/ActiproSoftware.INIFile.xml" />
<language key="Java" definitionPath="~/Languages/ActiproSoftware.Java.xml" semanticParserType="CodeHighlighterTest.SemanticJavaParser, CodeHighlighterTest" />
<language key="JScript" definitionPath="~/Languages/ActiproSoftware.JScript.xml" semanticParserType="CodeHighlighterTest.SemanticJScriptParser, CodeHighlighterTest" />
<language key="Perl" definitionPath="~/Languages/ActiproSoftware.Perl.xml" />
<language key="PHP" definitionPath="~/Languages/ActiproSoftware.PHP.xml" />
<language key="Python" definitionPath="~/Languages/ActiproSoftware.Python.xml" />
<language key="SQL" definitionPath="~/Languages/ActiproSoftware.SQL.xml" semanticParserType="CodeHighlighterTest.SemanticSqlParser, CodeHighlighterTest" />
<language key="VB.NET" definitionPath="~/Languages/ActiproSoftware.VBDotNet.xml" semanticParserType="CodeHighlighterTest.SemanticVBDotNetParser, CodeHighlighterTest" />
<language key="VBScript" definitionPath="~/Languages/ActiproSoftware.VBScript.xml" semanticParserType="CodeHighlighterTest.SemanticVBDotNetParser, CodeHighlighterTest" />
<language key="XML" definitionPath="~/Languages/ActiproSoftware.XML.xml" />
</languages>
<lineNumberMargin foreColor="Teal" paddingCharacter=" " visible="true" />
<outlining enabled="true" imagesPath="~/Images/OutliningIndicators/" />
<spacesInTabs count="4" />
</codeHighlighter>




建立InsertCode.aspx文件(代码高亮处理)代码如下:

 

<%...@ Page Language="VB" AutoEventWireup="false" CodeFile="insertcode.aspx.vb" Inherits="insertcode" %>
<%...@ Register TagPrefix="CH" Namespace="ActiproSoftware.CodeHighlighter" Assembly="ActiproSoftware.CodeHighlighter.Net20" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
<html xmlns="http://www.w3.org/1999/xhtml"; >
<head runat="server">
<title>web3.cn——插入代码</title>
<base target="_self" />
<style type="text/css">...
body {...}{ BACKGROUND-COLOR: #e5e5e5 }
.tb {...}{ FONT-SIZE: 13px }
.code {...}{ width:400px;height:255px; }
</style>
</head>
<body>
<form id="form1" runat="server">
<table class="tb" cellspacing="0" cellpadding="3" border="0">
<tr>
<th align="right" style="WIDTH:80px">编程语言:</th>
<td><asp:DropDownList Runat="server" ID="LanguageDropDownList"/></td>
</tr>
<tr>
<th align="right">选项:</th>
<td><asp:CheckBox Runat="server" ID="OutliningEnabledCheckBox" Checked="True" Text="允许代码折叠" />&nbsp;<asp:CheckBox Runat="server" ID="LineNumberMarginVisibleCheckBox" Checked="True" Text="显示行号" /></td>
</tr>
<tr>
<th valign="top" align="right">代码:</th>
<td><asp:TextBox Runat="server" ID="CodeTextBox" TextMode="MultiLine" Rows="10" Columns="80" CssClass="code" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><asp:Button Runat="server" ID="HighlightButton" Text="确 定" onClick="HighlightButton_Click"/>&nbsp;&nbsp;&nbsp;&nbsp;<input onclick="return window.close()" type="button" value="关 闭" /></td>
</tr>
<tr>
<td></td>
<td><pre><CH:CODEHIGHLIGHTER id="Codehighlighter1" runat="server" OnPostRender="CodeHighlighter_PostRender"></CH:CODEHIGHLIGHTER></pre></td>
</tr>
</table>
<div id="ScriptOutPut" runat="server"></div>
</form>
</ 

CuteEditor编辑器 优势: CuteEditor功能特点 是什么使CuteEditor成为Html在线编辑器的领航者?除了其强大的功能和方便的使用, 这里还有一些顶尖的技术因素是CuteEditor编辑器成为你编辑和发布Web内容的最佳选择: 跨浏览器、跨平台的所见即所得网页编辑器 阅读详情

相关推荐

net在线HTML编辑器,cuteEditor配置

      一直用fckeditor,发现上传文件和图片一直不能用。把网上所有的配置都找了遍,发现还是没有效果,最后不得不换个编辑器了,用了cuteeditor,发现还是很好用的,找了下配置技巧,上传功能都可以了,而且还是蛮方便的。第一步:请依次打开:CuteSoft_Client/CuteEditor/Configuration/Security修改“Security”文件夹

narisu的专栏 785

如何将WORD图片粘贴到CUTEEDITOR里面

编辑器CuteEditor 6前端:vue2,vue3,vue-cli,html5需求:复制粘贴word内容图片,Word转图片,word图片转存交互,导入pdf,导入PowerPoint(PPT)要求:开源,免费,技术支持用户体验:Ctrl+V快捷键操作该说不说,最近这块应该也是挻火的,今天早上又有网友加我微信私聊,说是想了解一下这块的技术和方案。实际我的微信号之前就已经在网上公开了,但是很多网友还是说找不到,这个可真有点难度了。

alisky119的博客 679

CuteEditor文本编辑器

.net的文本编辑感觉很少,有的也要付费,今天找了一个CuteEditor,虽然也是付费的,但是网上有破解的License文件。部署步骤(基本不变,.NET1.1和2.0版本部署基本一致):1. 安装CuteEditor assembly 文件和license文件(共4个)  拷贝以下文件到您网站的bin文件夹下    CuteEditor.dll     CuteEditor.ImageEditor.dll     NetSpell.SpellChecker.dll     CuteEditor.lic

Wayne_C的Blog 845

CUTEEDITOR如何能实现直接粘贴把图片上传到服务器中

编辑器CuteEditor 6前端:vue2,vue3,vue-cli,html5后端:asp,.net core,.net mvc,.net form,jsp,springboot,php,需求:复制粘贴word内容图片,Word转图片,word图片转存交互,导入pdf,导入PowerPoint(PPT)平台:Windows,macOS,Linux,中标麒麟,银河麒麟,统信UOS,信创国产化场景:外网,内网,涉密环境,信创国产化项目。

alisky119的博客 870

PPT幻灯片内容导入CuteEditor网页编辑器的步骤是什么?

要求:开源,免费,技术支持编辑器:百度ueditor前端:vue2,vue3,vue-cli,react,html5用户体验:Ctrl+V快捷键操作功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏平台:Windows,macOS,Linux,RedHat,CentOS,Ubuntu,中标麒麟,银河麒麟,统信UOS,信创国产化系统。

2501_90699850的博客 318

几款在线文本编辑器的比较(jquery文本编辑器)

最近几天一直在寻找一款在线的文本编辑器,并试用了其中一些,有些体会,现记录于下: 一个国外的网站,记录了一份几乎涵盖所有 WYSIWYG 在线编辑器比较表: http://www.geniisoft.com/showcase.nsf/WebEditors 国内的开源社区网站,记录了常用在线编辑器 http://www.open-open.com/ajax/Editor.htm http:

ppdtts520的专栏 4018

网页编辑器CuteEditor的复制粘贴功能对Word公式支持如何?

要求:开源,免费,技术支持编辑器:百度ueditor前端:vue2,vue3,vue-cli,react,html5用户体验:Ctrl+V快捷键操作功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏平台:Windows,macOS,Linux,RedHat,CentOS,Ubuntu,中标麒麟,银河麒麟,统信UOS,信创国产化系统。

2501_90694782的博客 968

CuteEditor6.0 使用详解

软件下载地址:http://cutesoft.net/使用方法:以下是网上的两篇文章,介绍得挺好的,请大家参考。CuteEditor 使用心得CuteEditor6.0使用详解

厚积薄发 1263

探索html富文本编辑器CuteEditor的Word内容导入能力?

要求:开源,免费,技术支持编辑器:百度ueditor前端:vue2,vue3,vue-cli,react,html5用户体验:Ctrl+V快捷键操作功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏平台:Windows,macOS,Linux,RedHat,CentOS,Ubuntu,中标麒麟,银河麒麟,统信UOS,信创国产化系统。

2501_90699640的博客 1020

CuteEditor编辑器如何高效处理Word文档的上传与粘贴?

要求:开源,免费,技术支持编辑器:百度ueditor前端:vue2,vue3,vue-cli,react,html5用户体验:Ctrl+V快捷键操作功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏平台:Windows,macOS,Linux,RedHat,CentOS,Ubuntu,中标麒麟,银河麒麟,统信UOS,信创国产化系统。

2501_90694782的博客 419

海洋工作室——网站建设专家:让 MVC 支持 CuteEditor Using CuteEditor under MVC

我在网上搜索了一圈,甚至是CUTEEDITOR官方网站都说目前不支持MVC,看下面的,CUTEEDITOR官方论坛, http://cutesoft.net/forums/thread/59425.aspx 下面是他们管理员的回答, Andrii,  MVC is not supported yet. Sorry for the inconvenience.   现在看看我们CSDN上...

weixin_33962621的博客 96

如何在CuteEditor前端网页编辑器中导入Word公式?

要求:开源,免费,技术支持编辑器:百度ueditor前端:vue2,vue3,vue-cli,react,html5用户体验:Ctrl+V快捷键操作功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏平台:Windows,macOS,Linux,RedHat,CentOS,Ubuntu,中标麒麟,银河麒麟,统信UOS,信创国产化系统。

2501_90699640的博客 411

网页编辑器CuteEditor如何粘贴Word中的公式?

要求:开源,免费,技术支持编辑器:百度ueditor前端:vue2,vue3,vue-cli,react,html5用户体验:Ctrl+V快捷键操作功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏平台:Windows,macOS,Linux,RedHat,CentOS,Ubuntu,中标麒麟,银河麒麟,统信UOS,信创国产化系统。

2501_90699850的博客 281

CuteEditor使用手记

<br /><br />1、拷贝文件<br />(1)CuteEditor、Bin文件夹下的:<br />CuteEditor.dll<br />CuteEditor.lic(解密文件)<br />CuteEditor.ImageEditor.dll (5.0增加的EditorImage功能)<br />NetSpell.SpellChecker.dll(拼写检查功能)<br />拷贝到项目的Bin目录下。<br />注:(“.dic”为扩展名的文件是词典保存为纯文本文件的格式。将bin文件夹里的都拷到项

644
上一篇: 我的开始...
下一篇: JavaScript中SetInterval与setTimeout用法
pellojava
博客等级 码龄17年 7粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值