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);
}
を用意すれば取れました。(また一つおもちゃが増えたな)
>>730 おめ。良ければどのバージョンのMozilla使ったか教えて欲(*゚ー゚)しぃ
起動時のエラーって「ダイナミックリンクライブラリが指定されたパスに存在しません」ってやつ?
こっちではMOZILLACONTROLLib.dllが同じフォルダにあればちゃんと動くようです。
1376.lzh落とせない(´Д⊂
>このディレクトリは、外部からの直接アクセスを禁止しています。
って。
>>731 リファラチェックしてるだけだと思うので、コピペしる。
1.3releaseでもできたよ。
>>732 なんかMozillaで落とせない気がする。referrerじゃなくてuser-agentかなあ。
>>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
>>730 IEで落としました(アリガd
>>732)
ちゃんとブラウザになってるね(*゚ー゚)
#誰かJavaEmbedded作って つД`)
>>731 あ、書くの忘れました(w
Win2000、Mozilla 1.4b
キタ━━━━━━\(T▽T)/━━━━━━ !!!!!
Java Embedded動いたー!
これでC#でもJavaでもMozillaが使える!疲れたよ(´Д⊂ママン
スレ違いsage