C♯相談室 Part9

このエントリーをはてなブックマークに追加
C#からMozilla(Gecko-ActiveXコンポーネント)を使う方法
C:\> AxImp.exe "C:\Program Files\Mozilla\mozctl.dll" /source
C:\> type GeckoTest.cs
using System;
using AxMOZILLACONTROLLib;
using System.Windows.Forms;
public class GeckoTest {
  [STAThread]
  public static void Main() {
    AxMozillaBrowser gecko = new AxMozillaBrowser();
    Form form = new Form();
    form.Controls.Add(gecko);
    gecko.BeginInit();
    gecko.EndInit();
    object arg1 = 0; object arg2 = ""; object arg3 = ""; object arg4 = "";
    gecko.Navigate("www.google.co.jp", ref arg1, ref arg2, ref arg3, ref arg4);
    System.Windows.Forms.Application.Run(form);
  }
}
C:\> csc /r:AxMOZILLACONTROLLib.dll Gecko.cs
C:\> GeckoTest.exe
>>726
寝る前にこれ見たらやってみたくなって、mozillaダウンロード中...。
10MBもあるのか…。ISDN(;´Д`)キツイ
>>727
うまくいったら報告してくだしぃ(*゚ー゚)
こちらの環境はWindows2000+Mozilla1.2.1です
Geckoコンポーネント(AxMOZILLACONTROLLib)はIEコンポーネント(AxSHDocVw)とほとんど同じみたいです。
例えばステータスバーに表示すべき文字列もIEコンポーネントと同じように

gecko.StatusTextChange += new DWebBrowserEvents2_StatusTextChangeEventHandler(Hoge.StatusTextChanged);

としておいて、

private void StatusTextChanged(object sender, DWebBrowserEvents2_StatusTextChangeEvent e)
{
  System.Console.WriteLine(e.text);
}
を用意すれば取れました。(また一つおもちゃが増えたな)
>>728
デキター(・∀・)
最初、mozilla/binフォルダにパスを通すのが解らず起動時にエラーが出ましたが、
exeごとmozillaフォルダに突っ込んでやったら上手くいきました。
チョト感動。

一応ソースup
http://www.kari.to/upload/index.cgi
[1376.lzh]
>>730
おめ。良ければどのバージョンのMozilla使ったか教えて欲(*゚ー゚)しぃ
起動時のエラーって「ダイナミックリンクライブラリが指定されたパスに存在しません」ってやつ?
こっちではMOZILLACONTROLLib.dllが同じフォルダにあればちゃんと動くようです。

1376.lzh落とせない(´Д⊂
>このディレクトリは、外部からの直接アクセスを禁止しています。
って。
>>731
リファラチェックしてるだけだと思うので、コピペしる。
1.3releaseでもできたよ。
>>732
なんかMozillaで落とせない気がする。referrerじゃなくてuser-agentかなあ。
734連カキスマソ:03/04/08 12:17
>>732
>1.3releaseでもできたよ。
報告ありがd。ちゃんと新しい版にも追従してるみたいね(*゚ー゚)

実はこれをJavaに埋め込みたいのさ。
(Java Embedded(webclient)は消えてったから難しそう)
Geckoって窓でも犬でもまともに動くからちょいとOS依存部分をラップして
((=゚Д゚=)ノ ドコデモWebClient作ろうかなと。
でもGeckoスレが落ちちゃってて(´・ω・`)ショボーン

>>726
今更だけど訂正(どうでもいいんだけど
C:\> csc /r:AxMOZILLACONTROLLib.dll Gecko.cs
C:\> csc /r:AxMOZILLACONTROLLib.dll GeckoTest.cs
735連カキスマソ:03/04/08 12:21
>>730
IEで落としました(アリガd>>732
ちゃんとブラウザになってるね(*゚ー゚)

#誰かJavaEmbedded作って つД`)
>>731
あ、書くの忘れました(w
Win2000、Mozilla 1.4b
http://lxr.mozilla.org/mozilla/source/extensions/manticore/
こんなもんがあったけど、まだ使えんのかな?
Microsoft Visual Studio .NET 2003 and .NET Framework 1.1 Tests Come To An End
http://www.winbeta.org/modules.php?name=News&file=article&sid=1275
キタ━━━━━━\(T▽T)/━━━━━━ !!!!!
Java Embedded動いたー!
これでC#でもJavaでもMozillaが使える!疲れたよ(´Д⊂ママン
スレ違いsage