Criando um navegador avançado usando Gecko - Parte 2

Aqui vamos importar as referências, adicionar arquivos à pasta e adicionar o Browser no Formulário.

Simplificando o desenvolvimento de APIs PHP com Swagger

Dando continuidade na matéria anterior, quando configuramos nosso formulário. Aqui vamos adicionar o motor em nosso formulário, para isto será necessário adicionar referências e copiar alguns arquivos a pasta do projeto.

Abra o projeto do navegador, caso não esteja com o mesmo aberto, no Solution Explorer, clique com o botão direito do Mouse em cima de References, em seguida clique em Add Reference.

Na janela seguinte deverá abrir o Reference Manager, clique no botão Browser, nos arquivos que você fez o Download, contém uma pasta chamada Skybound, dentro dela Bin e por fim, dentro de Bin temos Skybound.Gecko.dll, selecione este arquivo e clique em ADD e por último em OK.

Esta é a DLL que precisamos para utilizar o motor, mas suas funcionalidades estão na pasta xulrunner, que será configurado posteriormente.

Um alerta deve aparecer no Error List, isto acontece por que o computador na qual está sendo desenvolvido, usa arquitetura X64 e a DLL foi compilada em X86.

Para solucionar este problema, vamos alterar o Build do nosso projeto para X86, para isto clique com o botão direito do Mouse sobre o nome do nosso projeto no Solution Explorer, em seguida em Properties, ou pressione ALT+ENTER.

Clique na Opção Build no menu à esquerda, em frente ao texto Plataform target, há um campo de seleção, selecione X86, com isto o alerta irá sumir do Error List e você já pode fechar a respectiva aba.

Devemos copiar a pasta xulrunner que está junto ao arquivo que você fez o Download para dentro da pasta Bin/Debug do nosso projeto.

Por padrão o projeto fica dentro de Meus Documentos, Visual Studio 2013, Projects, agora você deve procurar pelo nome do nosso projeto, que foi definido Bluefox_Browser, dentro dela temos Bin/Debug.

Você pode clicar com o botão direito do Mouse sobre o nome do nosso projeto no Solution Explorer em seguida clicar em Open Folder in File Explorer, que será aberto a pasta na qual nosso projeto se encontra.

Copie a pasta xulrunner para dentro de Debug.

Como já cliquei no botão Start para rodar a aplicação, a DLL foi inserida a pasta principal do nosso projeto, caso o seu modelo não tenha inserido a DLL, não há problemas, basta clicar em Start em seguida fechar a Janela, não vamos precisar dela por hora.

Vamos criar uma classe, para isto clique com o botão direito do Mouse em cima do nome do nosso projeto em Solution Explorer, Add em seguida Class.

Em Name, insta GeckoBrowser.cs e clique no botão Add.

A partir de agora começamos a trabalhar com programação, devemos fazer referência ao Gecko em nossa classe, para isto adicione using Skybound.Gecko;, logo à frente do nome da nossa classe, insira, : GeckoWebBrowser, com isto vamos entender a classe GeckoWebBrower.

Código 01:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Skybound.Gecko;

namespace Bluefox_Browser
{
    class GeckoBrowser : GeckoWebBrowser
    {
    }
}

Agora devemos compilar nosso projeto, para isto clique no menu BUILD em seguida Build Solution.

Se você efetuou corretamente todos os procedimentos acima, um componente chamado GeckoBrowser  está visível no Toolbox.

Clique no componente e arraste para o Formulário, para adicionarmos o componente ao nosso formulário.

Se tentarmos executar nosso projeto, vamos receber uma mensagem de erro, isto devido aos arquivos necessários para o funcionamento do motor, não estarem inicializado. Para resolver este problema, de um duplo clique no formulário, localize o método construtor, deverá se chamar frmBluefox, logo abaixo de InitializeComponent (), insira o código abaixo, e para finalizar adicione a using Skybound.Gecko;.

Código 02:

public frmBluefox()
{
            InitializeComponent();
            Xpcom.Initialize(Environment.CurrentDirectory + "/xulrunner");
 }

Método frmBluefox_Load(), vamos adicionar uma página para ser carregada quando o projeto for executado, este código deverá ser deletado posteriormente, só será utilizado para verificar se está tudo certo.

Código 03:

private void frmBluefox_Load(object sender, EventArgs e)
{
	geckoBrowser1.Navigate("http://www.google.com");
}

Agora o código completo da nossa Classe, a sua deve seguir o mesmo padrão, se você seguiu os mesmos nomes atribuídos aqui.

Código 04:

using Skybound.Gecko;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Bluefox_Browser
{
    public partial class frmBluefox : Form
    {
        public frmBluefox()
        {
            InitializeComponent();
            Xpcom.Initialize(Environment.CurrentDirectory + "/xulrunner");
        }

        private void frmBluefox_Load(object sender, EventArgs e)
        {
            geckoBrowser1.Navigate("http://www.google.com");
        }
    }
}

Clique no botão Start para rodar seu projeto, caso a página do Google seja carregada, tudo funcionou corretamente, mas é claro que para isto necessita estar conectado à internet, caso contrário a página do Google não será carregada.

 

No próximo artigo, vamos preparar os componentes no formulário.