<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>geckofx - HaiNH</title>
	<atom:link href="https://hainh.dev/tag/geckofx/feed/" rel="self" type="application/rss+xml" />
	<link>https://hainh.dev</link>
	<description></description>
	<lastBuildDate>Tue, 06 Nov 2018 11:22:17 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://hainh.dev/wp-content/uploads/2025/10/cropped-logomyblog-32x32.png</url>
	<title>geckofx - HaiNH</title>
	<link>https://hainh.dev</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">249252746</site>	<item>
		<title>Sử dụng GeckoFx để tìm kiếm vị trí từ khóa trên google</title>
		<link>https://hainh.dev/su-dung-geckofx-de-tim-kiem-vi-tri-tu-khoa-tren-google/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=su-dung-geckofx-de-tim-kiem-vi-tri-tu-khoa-tren-google</link>
					<comments>https://hainh.dev/su-dung-geckofx-de-tim-kiem-vi-tri-tu-khoa-tren-google/#respond</comments>
		
		<dc:creator><![CDATA[NGUYỄN HOÀNG HẢI]]></dc:creator>
		<pubDate>Tue, 06 Nov 2018 11:22:17 +0000</pubDate>
				<category><![CDATA[Lập trình ứng dụng]]></category>
		<category><![CDATA[geckofx]]></category>
		<category><![CDATA[lập trình ứng dụng]]></category>
		<category><![CDATA[SEO]]></category>
		<guid isPermaLink="false">https://hainh2k3.com/?p=1019</guid>

					<description><![CDATA[<p>Mình sẽ làm 1 ví dụ về việc sử dụng GeckoFx để tìm kiếm vị trí từ khóa trên google giống như ứng dụng  Phần mềm kiểm tra vị trí từ khóa trên google nhé. Về việc cài đặt thư viện thì các bạn có thể tham khảo tại đây: Sử dụng GeckoFx thay thế cho...</p>
<p>The post <a href="https://hainh.dev/su-dung-geckofx-de-tim-kiem-vi-tri-tu-khoa-tren-google/">Sử dụng GeckoFx để tìm kiếm vị trí từ khóa trên google</a> first appeared on <a href="https://hainh.dev">HaiNH</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Mình sẽ làm 1 ví dụ về việc sử dụng GeckoFx để tìm kiếm vị trí từ khóa trên google giống như ứng dụng  <a href="https://hainh.dev/phan-mem-kiem-tra-vi-tri-tu-khoa-tren-google/" target="_blank" rel="noopener">Phần mềm kiểm tra vị trí từ khóa trên google</a> nhé.</p>
<p>Về việc cài đặt thư viện thì các bạn có thể tham khảo tại đây: <a href="https://hainh.dev/su-dung-geckofx-thay-the-cho-webbrowser-control/" target="_blank" rel="noopener">Sử dụng GeckoFx thay thế cho webbrowser control</a></p>
<p><img fetchpriority="high" decoding="async" data-attachment-id="1020" data-permalink="https://hainh.dev/su-dung-geckofx-de-tim-kiem-vi-tri-tu-khoa-tren-google/gecko-google-1/" data-orig-file="https://hainh.dev/wp-content/uploads/2018/11/gecko-google-1.jpg" data-orig-size="907,631" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="gecko google 1" data-image-description="" data-image-caption="" data-medium-file="https://hainh.dev/wp-content/uploads/2018/11/gecko-google-1-300x209.jpg" data-large-file="https://hainh.dev/wp-content/uploads/2018/11/gecko-google-1.jpg" class="aligncenter size-full wp-image-1020" src="https://hainh.dev/wp-content/uploads/2018/11/gecko-google-1.jpg" alt="" width="907" height="631" srcset="https://hainh.dev/wp-content/uploads/2018/11/gecko-google-1.jpg 907w, https://hainh.dev/wp-content/uploads/2018/11/gecko-google-1-300x209.jpg 300w, https://hainh.dev/wp-content/uploads/2018/11/gecko-google-1-768x534.jpg 768w" sizes="(max-width: 907px) 100vw, 907px" /></p>
<p style="text-align: center;">Chương trình có giao diện giống như hình trên</p>
<pre class="EnlighterJSRAW" data-enlighter-language="csharp">public partial class Form1 : Form
{
  public Form1()
  {
    InitializeComponent();
    Gecko.Xpcom.Initialize(Application.StartupPath + "\\firefox");
  }

  private void Form1_Load(object sender, EventArgs e)
  {

  }

  private void btnTimKiem_Click(object sender, EventArgs e)
  {
    //Chuyển hướng đến trang google
    geckoWebBrowser1.Navigate("http://google.com.vn");
    //Thêm sự kiện để đợi trang google load xong mới nhập từ khóa
    geckoWebBrowser1.DocumentCompleted += new EventHandler&lt;Gecko.Events.GeckoDocumentCompletedEventArgs&gt;(geckoWebBrowser1_NhapTuKhoa);
  }

  //Sự kiện trang google load xong và nhập từ khóa
  void geckoWebBrowser1_NhapTuKhoa(object sender, Gecko.Events.GeckoDocumentCompletedEventArgs e)
  {

    //Xóa luôn sự kiện này tránh tình trạng loop
    geckoWebBrowser1.DocumentCompleted -= geckoWebBrowser1_NhapTuKhoa;

    //Tìm đối tượng text input có name là q đầu tiên
    Gecko.DOM.GeckoInputElement _input = (Gecko.DOM.GeckoInputElement)geckoWebBrowser1.Document.GetElementsByName("q")[0];
    //Gắn giá trị cho text input vừa tìm thấy với giá trị ô txtTuKhoa.text
    _input.Value = txtTuKhoa.Text;


    //Đợi trước khi bấm nút search theo số giây đã nhập trên ô txtThoiGianNgungTruocKhiSearch
    Application.DoEvents();
    System.Threading.Thread.Sleep((int)txtThoiGianNgungTruocKhiSearch.Value * 1000);

    //Submit form
    _input.Form.submit();

    //Add sự kiện chuyển trang tìm kiếm
    geckoWebBrowser1.DocumentCompleted += new EventHandler&lt;Gecko.Events.GeckoDocumentCompletedEventArgs&gt;(geckoWebBrowser1_TimViTri);

    //Reset lại vị trí và số trang
    TrangHienTai = 1;
    ViTriHienTai = 1;

  }

  private int TrangHienTai = 1;
  private int ViTriHienTai = 1;

  void geckoWebBrowser1_TimViTri(object sender, Gecko.Events.GeckoDocumentCompletedEventArgs e)
  {

    //Lấy danh sách thẻ div class g để duyệt và phân tích
    Gecko.GeckoNodeCollection arrNode = geckoWebBrowser1.Document.GetElementsByClassName("g");
    foreach (Gecko.GeckoHtmlElement item in arrNode)
    {
      //Lấy link của kết quả tìm kiếm, thẻ a nằm trong thẻ h3
      Gecko.DOM.GeckoAnchorElement _link = (Gecko.DOM.GeckoAnchorElement)item.GetElementsByTagName("h3")[0].GetElementsByTagName("a")[0];
      //So sánh với tên trang web trên kia nếu có thì đã tìm thấy vị trí
      if (_link.GetAttribute("href").ToLower().IndexOf(txtTrangWeb.Text.ToLower()) &gt;= 0)
      {

        //Cuộn đến vị trí cần xem và tạo border xung quanh nó
        item.ScrollIntoView(true);
        item.Style.CssText = "border:3px solid red;margin-top:20px;padding:15px;";
        item.InnerHtml = "&lt;h3 style='font-weight:bold;color:red;font-size:18px;'&gt;Vị trí: " + ViTriHienTai + "&lt;/h3&gt;&lt;br/&gt;" + item.InnerHtml;

        //Hiển thị vi trí kết quả và hủy sự kiện này tránh loop
        MessageBox.Show("Đã tìm thấy vị trí thứ " + ViTriHienTai + " !");
        geckoWebBrowser1.DocumentCompleted -= geckoWebBrowser1_TimViTri;
        return;
      }
      //Tăng vị trí hiện tại lên 1 nếu chưa
      ViTriHienTai += 1;
    }

    //Nếu số trang đã tới giới hạn thì thông báo không tìm thấy kết quả
    if (TrangHienTai == txtGioiHanSoTrang.Value)
    {
      MessageBox.Show("Không tìm thấy vị trí !");
      geckoWebBrowser1.DocumentCompleted -= geckoWebBrowser1_TimViTri;
      return;
    }

    //Kiểm tra có tồn tại nút Tiếp hay không
    Gecko.GeckoNodeCollection arrNodePage = geckoWebBrowser1.Document.GetElementsByClassName("fl");
    int num;
    bool isNum = Int32.TryParse(arrNodePage[arrNodePage.Length-1].TextContent, out num);
    if (isNum)
    {
      MessageBox.Show("Đã hết kết quả Search, Không tìm thấy vị trí !");
      geckoWebBrowser1.DocumentCompleted -= geckoWebBrowser1_TimViTri;
      return;
    }
    else
    {
      TrangHienTai += 1;
      ((Gecko.DOM.GeckoAnchorElement)arrNodePage[arrNodePage.Length - 1]).Click();
    }

  }
}</pre>
<p>Cùng xem kết quả nào:</p>
<p><img decoding="async" data-attachment-id="1021" data-permalink="https://hainh.dev/su-dung-geckofx-de-tim-kiem-vi-tri-tu-khoa-tren-google/gecko-google/" data-orig-file="https://hainh.dev/wp-content/uploads/2018/11/gecko-google.gif" data-orig-size="1905,1015" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="gecko google" data-image-description="" data-image-caption="" data-medium-file="https://hainh.dev/wp-content/uploads/2018/11/gecko-google-300x160.gif" data-large-file="https://hainh.dev/wp-content/uploads/2018/11/gecko-google-1024x546.gif" class="aligncenter size-full wp-image-1021" src="https://hainh.dev/wp-content/uploads/2018/11/gecko-google.gif" alt="" width="1905" height="1015" /></p>
<p>Link mã nguồn chương trình: <a href="https://drive.google.com/open?id=0B68_ejhDXR0wUjlPWTVTRVNXNDA">https://drive.google.com/open?id=0B68_ejhDXR0wUjlPWTVTRVNXNDA</a></p><p>The post <a href="https://hainh.dev/su-dung-geckofx-de-tim-kiem-vi-tri-tu-khoa-tren-google/">Sử dụng GeckoFx để tìm kiếm vị trí từ khóa trên google</a> first appeared on <a href="https://hainh.dev">HaiNH</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://hainh.dev/su-dung-geckofx-de-tim-kiem-vi-tri-tu-khoa-tren-google/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1019</post-id>	</item>
		<item>
		<title>Sử dụng GeckoFx thay thế cho webbrowser control</title>
		<link>https://hainh.dev/su-dung-geckofx-thay-the-cho-webbrowser-control/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=su-dung-geckofx-thay-the-cho-webbrowser-control</link>
					<comments>https://hainh.dev/su-dung-geckofx-thay-the-cho-webbrowser-control/#respond</comments>
		
		<dc:creator><![CDATA[NGUYỄN HOÀNG HẢI]]></dc:creator>
		<pubDate>Sun, 04 Nov 2018 11:01:33 +0000</pubDate>
				<category><![CDATA[Lập trình ứng dụng]]></category>
		<category><![CDATA[geckofx]]></category>
		<category><![CDATA[lập trình ứng dụng]]></category>
		<category><![CDATA[web auto]]></category>
		<guid isPermaLink="false">https://hainh2k3.com/?p=992</guid>

					<description><![CDATA[<p>Hi all, Trong winform thì control Webbrowser sẽ sử dụng trình duyệt IE mặc định của máy tính để hiển thị, tuy nhiên nếu máy tính sử dụng chương trình của chúng ta là XP hay win 7 thì có thể nó đang sử dụng IE 7 hoặc 8, dẫn đến việc hiển thị CSS,...</p>
<p>The post <a href="https://hainh.dev/su-dung-geckofx-thay-the-cho-webbrowser-control/">Sử dụng GeckoFx thay thế cho webbrowser control</a> first appeared on <a href="https://hainh.dev">HaiNH</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Hi all,</p>
<p>Trong winform thì control Webbrowser sẽ sử dụng trình duyệt IE mặc định của máy tính để hiển thị, tuy nhiên nếu máy tính sử dụng chương trình của chúng ta là XP hay win 7 thì có thể nó đang sử dụng IE 7 hoặc 8, dẫn đến việc hiển thị CSS, html5 không tốt hoặc bị trang web thông báo đang sử dụng trình duyệt cũ. Ngoài ra thì cái webbrowser control mặc định của nó quá cùi bắp, cách đây tầm 3 &#8211; 4 năm mình phải thực hiện một số công việc automation trên web nên đã tìm ra cách thay thế nó bằng firefox thông qua thư viện GeckoFx.</p>
<p>Đây là một thư viện mã nguồn mở, các bạn có thể tìm thêm thông tin tại đây:  <a href="https://bitbucket.org/geckofx/geckofx/wiki/Home">https://bitbucket.org/geckofx/geckofx/wiki/Home</a></p>
<p>Để cài đặt vào project các bạn có thể thông qua nuget như hình dưới đây:</p>
<p><img decoding="async" data-attachment-id="993" data-permalink="https://hainh.dev/su-dung-geckofx-thay-the-cho-webbrowser-control/geckofx-1/" data-orig-file="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-1.png" data-orig-size="1341,875" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="GeckoFx 1" data-image-description="" data-image-caption="" data-medium-file="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-1-300x196.png" data-large-file="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-1-1024x668.png" class="aligncenter size-full wp-image-993" src="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-1.png" alt="" width="1341" height="875" srcset="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-1.png 1341w, https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-1-300x196.png 300w, https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-1-1024x668.png 1024w, https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-1-768x501.png 768w" sizes="(max-width: 1341px) 100vw, 1341px" /></p>
<p style="text-align: center;">Tìm từ khóa geckofx và install vào project.</p>
<p>Sau khi cài đặt xong các bạn vào thư mục đường dẫn project của các bạn và vào tiếp &#8220;packages\GeckoFX&#8230;..&#8221;, copy thư mục Output (Đây là thư mục chứa các thư viện xulrunner xử lý và hiển thị nội dung trang web) vào thư mục bin project của bạn và đổi tên, vd của mình là &#8220;firefox&#8221; như hình dưới đây:</p>
<p><img loading="lazy" decoding="async" data-attachment-id="994" data-permalink="https://hainh.dev/su-dung-geckofx-thay-the-cho-webbrowser-control/geckofx-2/" data-orig-file="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-2.jpg" data-orig-size="471,274" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="GeckoFx 2" data-image-description="" data-image-caption="" data-medium-file="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-2-300x175.jpg" data-large-file="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-2.jpg" class="aligncenter size-full wp-image-994" src="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-2.jpg" alt="" width="471" height="274" srcset="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-2.jpg 471w, https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-2-300x175.jpg 300w" sizes="(max-width: 471px) 100vw, 471px" /></p>
<p>Tiếp đến Add Reference file Geckofx-Winforms.dll trong thư mục &#8220;\packages\GeckoFX.1.0.5\lib&#8221; vào toolbox sau đó kéo vào form vị trí bạn cần thiết kế.</p>
<p><img loading="lazy" decoding="async" data-attachment-id="995" data-permalink="https://hainh.dev/su-dung-geckofx-thay-the-cho-webbrowser-control/geckofx-3/" data-orig-file="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-3.jpg" data-orig-size="1341,875" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="GeckoFx 3" data-image-description="" data-image-caption="" data-medium-file="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-3-300x196.jpg" data-large-file="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-3-1024x668.jpg" class="aligncenter size-full wp-image-995" src="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-3.jpg" alt="" width="1341" height="875" srcset="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-3.jpg 1341w, https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-3-300x196.jpg 300w, https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-3-1024x668.jpg 1024w, https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-3-768x501.jpg 768w" sizes="(max-width: 1341px) 100vw, 1341px" /></p>
<p>Giờ mình sẽ viết code để GeckoWebBrowser mở trang web tại sự kiện form load như sau:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="csharp" data-enlighter-title="Ví dụ điều hướng trang web">public Form1()
  {
    InitializeComponent();
    //Khai báo đường dẫn thư mục xulrunner.
    Gecko.Xpcom.Initialize(Application.StartupPath + "\\firefox");
  }

  private void Form1_Load(object sender, EventArgs e)
  {
    //Chuyển hướng đến trang google.
    geckoWebBrowser1.Navigate("https://google.com.vn");
  }
}</pre>
<p><img loading="lazy" decoding="async" data-attachment-id="997" data-permalink="https://hainh.dev/su-dung-geckofx-thay-the-cho-webbrowser-control/geckofx-0/" data-orig-file="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-0.jpg" data-orig-size="757,490" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="GeckoFx 0" data-image-description="" data-image-caption="" data-medium-file="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-0-300x194.jpg" data-large-file="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-0.jpg" class="aligncenter size-full wp-image-997" src="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-0.jpg" alt="" width="757" height="490" srcset="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-0.jpg 757w, https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-0-300x194.jpg 300w" sizes="(max-width: 757px) 100vw, 757px" /></p>
<p><span style="color: #ff0000;"><strong>Chú ý:</strong></span> Nếu bạn dùng visual studio 2017 có thể sẽ xảy ra lỗi khi build liên quan đến &#8220;CodeTaskFactory&#8221; và &#8220;Microsoft.Build.Tasks.v15.0.dll&#8221;. Nguyên nhân là do thư viện này họ sử dụng visual studio 2013 để build thì phải. Giải pháp khắc phục việc này là chuyển sang dùng thư viện geckofx45 cho phiên bản .NET 4.5 trở lên, hoặc khi cài xong nuget, các bạn copy toàn bộ folder ouput và lib của nó ra ngoài, uninstall nó ra và add các thư viện Geckofx-Core.dll, Geckofx-Winforms.dll lại.</p>
<p>Trong quá trình chạy debug nếu xuất hiện lỗi thì bạn nên chuyển project platform target về x64 hoặc x86 phù hợp nhé.</p>
<p><img loading="lazy" decoding="async" data-attachment-id="996" data-permalink="https://hainh.dev/su-dung-geckofx-thay-the-cho-webbrowser-control/geckofx-4/" data-orig-file="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-4.jpg" data-orig-size="730,450" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="GeckoFx 4" data-image-description="" data-image-caption="" data-medium-file="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-4-300x185.jpg" data-large-file="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-4.jpg" class="aligncenter size-full wp-image-996" src="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-4.jpg" alt="" width="730" height="450" srcset="https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-4.jpg 730w, https://hainh.dev/wp-content/uploads/2018/11/GeckoFx-4-300x185.jpg 300w" sizes="(max-width: 730px) 100vw, 730px" /></p>
<p>Mình có làm 1 video từ hồi 2016, các bạn có thể tham khảo hình dung cho dễ nhé:</p>
<p style="text-align: center;">[su_youtube url=&#8221;https://youtu.be/_6O5zW5qa-Q&#8221;]</p>
<p>Về cơ bản thì các sự kiện, thao tác với DOM document của nó khá giống với webbrower control. Mình sẽ có bài hướng dẫn về việc thao tác với DOM để auto 1 số trang web nhé, vd: như tự động đăng nhập, điền biểu mẫu, tìm kiếm nội dung trong trang web vv &#8230;</p>
<p>Đây là 1 cái <a href="https://hainh.dev/chuong-trinh-ket-xuat-tin-nhan-facebook-messenger/">tool</a> mình làm có sử dụng geckofx để đăng nhập facebook sau đó kết xuất nội dung ra ngoài, mã nguồn của nó mình sẽ tìm lại nếu các bạn cần nhé.</p>
<p>&nbsp;</p><p>The post <a href="https://hainh.dev/su-dung-geckofx-thay-the-cho-webbrowser-control/">Sử dụng GeckoFx thay thế cho webbrowser control</a> first appeared on <a href="https://hainh.dev">HaiNH</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://hainh.dev/su-dung-geckofx-thay-the-cho-webbrowser-control/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">992</post-id>	</item>
		<item>
		<title>Chương trình kết xuất tin nhắn facebook messenger</title>
		<link>https://hainh.dev/chuong-trinh-ket-xuat-tin-nhan-facebook-messenger/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=chuong-trinh-ket-xuat-tin-nhan-facebook-messenger</link>
					<comments>https://hainh.dev/chuong-trinh-ket-xuat-tin-nhan-facebook-messenger/#comments</comments>
		
		<dc:creator><![CDATA[NGUYỄN HOÀNG HẢI]]></dc:creator>
		<pubDate>Fri, 26 Oct 2018 04:11:47 +0000</pubDate>
				<category><![CDATA[Dự án]]></category>
		<category><![CDATA[công cụ]]></category>
		<category><![CDATA[dự án]]></category>
		<category><![CDATA[geckofx]]></category>
		<category><![CDATA[phần mềm]]></category>
		<guid isPermaLink="false">https://hainh2k3.com/?p=698</guid>

					<description><![CDATA[<p>Chương trình này mình viết có chức năng kết xuất nội dung tin nhắn trong facebook messenger ra bên ngoài năm 2016, mình sử dụng C# và geckofx để auto một số quá trình cuộn trang thay vì dùng api. Giao diện chính chương trình. Trước khi tải tin nhắn có một số tham số...</p>
<p>The post <a href="https://hainh.dev/chuong-trinh-ket-xuat-tin-nhan-facebook-messenger/">Chương trình kết xuất tin nhắn facebook messenger</a> first appeared on <a href="https://hainh.dev">HaiNH</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Chương trình này mình viết có chức năng kết xuất nội dung tin nhắn trong facebook messenger ra bên ngoài năm 2016, mình sử dụng C# và geckofx để auto một số quá trình cuộn trang thay vì dùng api.</p>
<p><img loading="lazy" decoding="async" data-attachment-id="699" data-permalink="https://hainh.dev/chuong-trinh-ket-xuat-tin-nhan-facebook-messenger/ket-xuat-tin-nhan-fb-1/" data-orig-file="https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-1.jpg" data-orig-size="980,640" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="chương trình kết xuất tin nhắn facebook" data-image-description="" data-image-caption="" data-medium-file="https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-1-300x196.jpg" data-large-file="https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-1.jpg" class="aligncenter size-full wp-image-699" src="https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-1.jpg" alt="" width="980" height="640" srcset="https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-1.jpg 980w, https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-1-300x196.jpg 300w, https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-1-768x502.jpg 768w" sizes="(max-width: 980px) 100vw, 980px" /></p>
<p>Giao diện chính chương trình.</p>
<p>Trước khi tải tin nhắn có một số tham số như</p>
<ul>
<li>Chọn khoảng thời gian để tải tin nhắn.</li>
<li>Tải text duy nhất, bỏ qua ảnh, video &#8230;</li>
<li>Convert ảnh dạng base 64 xem offline thay vì link bên ngoài.</li>
</ul>
<p><img loading="lazy" decoding="async" data-attachment-id="700" data-permalink="https://hainh.dev/chuong-trinh-ket-xuat-tin-nhan-facebook-messenger/ket-xuat-tin-nhan-fb-2/" data-orig-file="https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-2.jpg" data-orig-size="980,640" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="ket xuat tin nhan fb 2" data-image-description="" data-image-caption="" data-medium-file="https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-2-300x196.jpg" data-large-file="https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-2.jpg" class="aligncenter size-full wp-image-700" src="https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-2.jpg" alt="" width="980" height="640" srcset="https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-2.jpg 980w, https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-2-300x196.jpg 300w, https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-2-768x502.jpg 768w" sizes="(max-width: 980px) 100vw, 980px" /></p>
<p>Màn hình quá trình auto tải dữ liệu, tin nhắn sẽ load theo khoảng thời gian và cấu hình đã được chọn.</p>
<p><img loading="lazy" decoding="async" data-attachment-id="701" data-permalink="https://hainh.dev/chuong-trinh-ket-xuat-tin-nhan-facebook-messenger/ket-xuat-tin-nhan-fb-3/" data-orig-file="https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-3.jpg" data-orig-size="656,750" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="ket xuat tin nhan fb 3" data-image-description="" data-image-caption="" data-medium-file="https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-3-262x300.jpg" data-large-file="https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-3.jpg" class="aligncenter size-full wp-image-701" src="https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-3.jpg" alt="" width="656" height="750" srcset="https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-3.jpg 656w, https://hainh.dev/wp-content/uploads/2018/10/ket-xuat-tin-nhan-fb-3-262x300.jpg 262w" sizes="(max-width: 656px) 100vw, 656px" /></p>
<p style="text-align: center;">Kết quả chương trình xuất ra file html để xem offline</p><p>The post <a href="https://hainh.dev/chuong-trinh-ket-xuat-tin-nhan-facebook-messenger/">Chương trình kết xuất tin nhắn facebook messenger</a> first appeared on <a href="https://hainh.dev">HaiNH</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://hainh.dev/chuong-trinh-ket-xuat-tin-nhan-facebook-messenger/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">698</post-id>	</item>
	</channel>
</rss>
