我正在编写一个我希望在Windows或Linux下运行的应用程序.由于它是一个文本应用程序,渲染和用户交互的明显选择是在WebBrowser控件中使用html .这一切在Windows中使用Mono都非常有用,但我绝对不知道如何在Linux中使用Mono让它工作.我正在运行Linux Mint 17,安装了MonoDevelop和Firefox.以下代码片段编译并运行,但是当应用程序启动时,wbMain不会显示.尝试使用时渲染html字符串时应用程序死亡wbMain.
private System.Windows.Forms.Panel pnlMain;
private Mono.WebBrowser.IWebBrowser wbMain;
private System.Windows.Forms.Button btnGo;
this.pnlMain = new System.Windows.Forms.Panel();
this.wbMain = Mono.WebBrowser.Manager.GetNewInstance();
this.wbMain.Activate();
this.btnGo = new System.Windows.Forms.Button();
this.pnlMain.SuspendLayout();
this.SuspendLayout();
//
// pnlMain
//
this.pnlMain.Controls.Add((System.Windows.Forms.Control)this.wbMain.Window);
this.pnlMain.Controls.Add(this.btnGo);
this.pnlMain.Location = new System.Drawing.Point(12, 1);
this.pnlMain.Name = "pnlMain";
this.pnlMain.Size = new System.Drawing.Size(260, 248);
this.pnlMain.TabIndex = 0;
//
// wbMain
//
this.wbMain.Resize(260, 216);
Run Code Online (Sandbox Code Playgroud) 我不能为我的生活弄清楚如何用TextPipe完成这项任务.
任务:
提取(剪切)此TEXT,包括开始和结束标记,并获取仅包含这些标记及其间文本的文件.
<div><div class="article">`TEXT`<span id="contentBottomLeft"></span>
Run Code Online (Sandbox Code Playgroud)
我定义了一个带有结束和开始标记的限制过滤器,但下一步是什么?这个过滤器需要一个子过滤器,我不明白接下来需要使用什么样的过滤器以及如何定制它.我需要为数千个HTML文件重复这个提取过程.
专门针对TextPipe的步骤将会受到极大的影响,因为我自己并不是一个程序员.
目前,我们使用以下方法在应用程序域上设置了第一次机会异常处理程序:
AppDomain.CurrentDomain.FirstChanceException += FirstChanceHandler;
Run Code Online (Sandbox Code Playgroud)
该解决方案的问题在于它只为我们提供了引发错误的确切行和方法的堆栈跟踪,而不是冒泡的那些。我们需要获取导致此异常的链上方法的上下文。
异常由第三方库处理和吞下(尽管如此错误),但我们仍然需要该上下文,因为在第三方库中该上下文中有其他信息。
目前我们可以通过劫持他们的记录器来获得它,但这似乎是一个坏主意;如果他们的日志实现发生变化,我们将无法访问底层信息/上下文。与日志记录相比,异常不太可能发生变化。
有没有办法解决这个问题?
我继承了一个使用遗留文件格式来存储数据的项目,我可以访问进入该文件格式的数据,以及生成的文件,但我无权访问模板,我需要重新创建它.
什么是逆向工程二进制文件的最佳方法?如何确定使用的语言/加密,或者我甚至需要?一旦我做了,最好的程序(免费,首选)是什么来获取信息?这是在Windows系统上,但我运行一个OpenSUSE linux框,我不反对使用该问题的帮助.