言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

Netscape plugin (Mozilla, Firefox, Opera 共通) の開発。

ActiveX に続き Netscape plugin の開発を Windows Visual Studio 2003 上で行います。現状バリバリ活躍しているわりに時代遅れ感では ActiveX に引けを取らない Netscape plugin です。Web と言えば javascriptFlash で、今更わざわざ新たにプラグインなど開発する人はいないのでしょうか。私がサラリーマンだった数年前でさえすでにもう過去の技術になってたからなー。こうして知識は失われて行くのか。。。

とりあえずコンパイルできるかテスト

別のフォルダにコピー

  • Win32SDK\sdk\samples\basic\windows を好きなパスにコピー(例えば c:/takashi/nphack)。
  • np_entry.cpp npn_gate.cpp npp_gate.cpp の位置が狂うので、Win32SDK\sdk\samples\common にある三つの .cpp ファイルを入れなおす。
  • プロジェクトのプロパティ - C/C++ - 全般 - 追加のインクルードディレクトリに
  • ビルド
  • GeckoPluginSDK-samples\Win32SDK\sdk\samples\basic\test.html をコピー
  • test.html を開いてパスが変わってもコンパイル出来るか確認。
  • プロジェクトのプロパティ - デバッグ - コマンド を C:\PROGRA~1\MOZILL~1\FIREFOX.EXE 引数を test.html
  • Debug\npbasic.dll を plugin フォルダにコピーして test.html を開く

名前の変更

.rc ファイルをテキストエディタで編集

            VALUE "MIMEType", "application/nphack-plugin\0"
            VALUE "OriginalFilename", "nphack.dll\0"

あとは適当に色々な名前を変える。 about:plugins を firefox で開けて認識されているかを確認。

難しい所

  • MIMEType をリソースで指定する。ドキュメントを読んでもこんなの分からない。。。
  • about:plugins を開けると認識されているプラグインを確認できる(偶然発見)。

続く