C# Skybound Gecko项目:尝试读取或写入受保护的内存
我开始了一个非常简单的项目——本质上是一个带有硬编码URL的web浏览器,供公共终端使用。也就是说,如果C web浏览器控件没有让我想自杀,那就简单了 我决定使用Skybound Gecko浏览器,因为它似乎是唯一可行的选择。。我在这个项目中经历了一些学习过程,并解决了一些初学者错误,例如在设置窗口句柄之前无法导航,以及在找不到xpcom.dll时出现的错误,并已纠正了这些错误 现在,当我运行应用程序并在SkyboundGecko控件中打开URL时,Program.cs中出现了一个错误 另外,我安装了Stylizer 5,它正确地利用了Skybound项目,所以我假设它在我的代码或配置中 如蒙协助,将不胜感激 Program.cs,其中显示错误 完整错误和堆栈跟踪C# Skybound Gecko项目:尝试读取或写入受保护的内存,c#,geckofx,C#,Geckofx,我开始了一个非常简单的项目——本质上是一个带有硬编码URL的web浏览器,供公共终端使用。也就是说,如果C web浏览器控件没有让我想自杀,那就简单了 我决定使用Skybound Gecko浏览器,因为它似乎是唯一可行的选择。。我在这个项目中经历了一些学习过程,并解决了一些初学者错误,例如在设置窗口句柄之前无法导航,以及在找不到xpcom.dll时出现的错误,并已纠正了这些错误 现在,当我运行应用程序并在SkyboundGecko控件中打开URL时,Program.cs中出现了一个错误 另外,我
通过切换到WebKit组件,我能够解决这一整天的问题。坦白地说,如果我第一次发现这一点,无论如何,我会更喜欢chrome风格的控件而不是FireFox 超级容易安装,没有任何问题的xulrunner垃圾
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace alphaCommKiosk
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Error Line--------------------------------------------
Application.Run(new Form1()); // <--- ERROR OCCURS HERE.
}
}
}
//webBrowser1 is a control dragged onto the form
//Intialize
string path = "C:\\Program Files (x86)\\xulrunner\\";
Skybound.Gecko.Xpcom.Initialize(path);
webBrowser1 = new Skybound.Gecko.GeckoWebBrowser();
webBrowser1.CreateControl();
string u = "http://www.domaion.com/kiosk/index.php?account=" + mAccount + "&hash=" + mHash;
//Navigate
webBrowser1.Navigate("http://www.ibm.com/");
//execution actually progresses past this line to the end of the sub
System.AccessViolationException was unhandled
Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Source=System.Windows.Forms
StackTrace:
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at alphaCommKiosk.Program.Main() in c:\code\alphaCommKiosk\alphaCommKiosk\Program.cs:line 18
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException: