トップページ⇒tech
922コメント290KB

IEコンポーネントを使い倒すスレ

■ このスレッドは過去ログ倉庫に格納されています
0001IUnknownNGNG
=====================================

IEコンポーネントを利用したブラウザのプログラミングに関する情報の交換及び再
利用を目的とした総合情報スレッドです。

=====================================


最近IEコンポーネントを利用してブラウザを作るプログラマが増えてきました。こ
れから自作してみようという人も多いでしょう。コンポーネントを貼り付けるだけ
なら誰でも出来ますが複雑な制御を行うにはそれなりの経験や知識が要るようです。
私自身が知りたいのも山々ですが、似たような質問が分散するのを避けるためにも
統一しましょう。ブラウザ作者、COM に精通した方大歓迎です。もちろん公開した
くない "禁断のテク" もあると思いますが、そこは各人の判断ということでお願い
します。

※ 開発言語は問わないことにしますので質問するときはその辺を踏まえてお願いし
ます。
0002デフォルトの名無しさんNGNG
GIFという大きな壁があります。
0003デフォルトの名無しさんNGNG
GIFのデータを片っ端からつぶしていって…
なんてやりたかねーなあ。
クソUNIS○Sが!
0004デフォルトの名無しさんNGNG
コンポーネント内部で発生するイベントは拾えますか?
ページ内に埋め込まれたスクリプトからは簡単にイベン
トを拾えますが外部からのコードで同様の処理を行える
かが知りたいです。具体的には読み込んだページの特定
のタグをクリックしたときにダイアログを表示したい。
0005デフォルトの名無しさんNGNG
マイクロソフトが「IEコンポーネント without GIF」
ってのを作ってくれればみんな幸せなのに…
まいくろそふと、うにしす、裏でなんか手結んでんのかな?
IEコンポーネントといい、2000のダイアログ問題といい…
0006ネタだから無視してねNGNG
XPのスキンとかアイコンが全部GIF使ってたらどうしよう(..;
0007デフォルトのゲイツさんNGNG
WindowsXP ではアイコンファイルは廃止
すべて透過GIFを使用する。
APIでGIFローダーを提供。
エクスプローラーで表示されるアプリのアイコンもGIF。
ダイアログエディタでIEコンポーネントを貼りつけてバンバン使え。
言い忘れたが WindowsXP の起動画面のロゴもアニメーションGIF採用。

ところでGIFの特許ってあと2年くらいで切れるんじゃなかったっけ?
00084NGNG
自己解決しました。onclick とか onmousedown とかその他
すべてのイベントが拾えるようになりました。

ではでは。
0009デフォルトの名無しさんNGNG
>>8
どうやったかとか書いてほしい。
0010デフォルトの名無しさんNGNG
>>7
日本だと2004年できれるはず。日本では。
0011デフォルトの名無しさんNGNG
>まいくろそふと、うにしす、裏でなんか手結んでんのかな?
俺もその可能性を考えたことあるけど、MSにとっては百害あって
一利無しなんで多分、ないと思う
0012デフォルトの名無しさんNGNG
じゃあなんで、gifなんだろ、pngでもいいのに
0013デフォルトの名無しさんNGNG
Delphiっす。
TWebBrowserにwriteで書き込む方法と、クリアの仕方を教えてください。
お願い。
0014デフォルトの名無しさんNGNG
少佐っちめっけ。
0015名無しさんNGNG
IEAKは入手したか?
0016デフォルトの名無しさんNGNG
>>12
PNGだと展開が遅すぎるんじゃなかろうか。
0017デフォルトの名無しさんNGNG
>>16
うーん、XPがインストールされるマシンでそれは無いような気がする…。
比較的ってのはわかるけど。

それに、WEBでpngがそこそこ普及してるけど、
png遅いからイヤ!って言う人は聞かないよねー。
0018デフォルトの名無しさんNGNG
>png遅いからイヤ!って言う人は聞かないよねー。

むう、Web制作板とかでたまに聞くっすよ。

根本的に、展開コスト食う割に圧縮率が低い画像フォーマットだと思うナリ。
あと扱いやすさとかも含めて、総合パフォーマンスに疑問符がつくから
GIFからの移行がなかなか進まないんだと思うナリ。
0019デフォルトの名無しさんNGNG
あうー。聞きますかー(;´д`)
たまたま、今まで見てきた限り遅いと感じたことがなかっただけかもしれんス。

パフォーマンス悪いはごもっとも。
0020デフォルトの名無しさんNGNG
pngをIEで表示すると
透明色が綺麗にでてくれない。
0021デフォルトの名無しさんNGNG
>4>8
 こんな風にしていると、誰も自分のネタを書かなくなるよ。
聞くだけ聞いて、自分のは隠すタイプ。
0022IUnknownNGNG
>21
確かに一理ある意見だ。4 は質問するときも開発言語すら書いていないし
本当に訊く気があったのかも疑わしいね(おまけに1日で解決?)。まあ
それは置いておくとして(^_^;)、取り敢えず Visual Basic で良ければ私
でもわかるが構わないかい?ただはっきり言ってこれは基本テクだと思う
から偉そうに教えるほどのものでもないがね。

(1) Microsoft HTML Object Library を参照設定する(これでオブジェク
トブラウザから MSHTML のライブラリにアクセス出来るようになる)。
(2) イベントを取得したいオブジェクト(エレメント)を WithEvents を用
いて固有オブジェクト型で宣言する(これによりドロップダウンリス
トから各オブジェクトに対応するイベントプロシージャが作成できる
ようになる)。例えば BODY タグに対するイベント取得の宣言は次の
とおり。

Public WithEvents MyObject As MSHTML.HTMLBody

オブジェクト(エレメント)が持つ固有オブジェクトの型を調べるにはロー
カルウィンドウを使えばよい。また各オブジェクトが持つイベントはオブ
ジェクトブラウザでいいだろう(OLE/COM Object Viewer でも構わないが)。

小生この程度のレベルなので皆の役に立てるかわからないが多少なりとも
発起人として情報を提供できればと思っている。
0023デフォルトの名無しさんNGNG
えー、IEコンポーネントとは直接関係なくて恐縮なんですが……
Google ToolbarみたいなIE用のツールバープラグイン、
自分で作るにはどうすればいいんでしょうか?
0024デフォルトの名無しさんNGNG
msdn web workshopに逝く。英語必須
0025デフォルトの名無しさんNGNG
>ALL

IWebBrowser2 インターフェイスをMFCを使わずに
使用するにはどうやればいいかわかる人いますか?

使用している単純なサンプルなどあればいいのですが・・・
0026デフォルトの名無しさんNGNG
↑ CWebBrowser2 も使ってはいけないってこと?
それなら、難しくて分からないや。
0027デフォルトの名無しさんNGNG
>>23
この辺から見始めたらどうかな?

http://msdn.microsoft.com/workshop/browser/ext/overview/Bands.asp
0028デフォルトの名無しさんNGNG
>>25

CAxWindow ax;
ax.Create(hwnd, rect, "http://www.yahoo.co.jp/";, WS_CHILD | WS_VISIBLE, 0, 0);
CComPtr<IWebBrowser2> browser;
ax.QueryControl(&browser);

とかってのはダメ? まあATLですが。
ところで、ATLも使わずに使用するにはどうすればいいか分かる人いますか?
mingw32-gccでIEコンポーネント使ってる例だと最高なんですが。
002925NGNG
>26
すいません、私はCWebBrowser2を知らないのですが、
MFCのIEを使用するクラスなのでしょうか?
0030IUnknownNGNG
お遊びではあるが世界最小のブラウザを作ってみた。
ファイルサイズは実に 777バイトである。Donut など
非ではない。ただし現時点で機能は最低だ。これより
貧弱なブラウザなどこの世に存在しないだろう。
だが HTML, CSS, JavaScript, VBScript を知っていれ
ば簡単に改造できると言うのが売りだ。HTML, CSS マ
ニアにはインターフェイスを任せよう。Script マニア
には機能を任せよう。機能は COM に詳しいものがいれ
ばさらに凝ったものとなるであろう。何せローカルで
動くから ActiveX 使いまくりでコーディングできるの
である。

ではその 777バイトを紹介しよう。

scrbrwsr.hta
-------------------------------------------------

&lt;!-- Script Browser 777 by IUnknown --&gt;
<HTML><TITLE>Script Browser 777 by IUnknown</TITLE>
<STYLE>
BODY{background=MENU;border=no}
#addrbar{width=532px}
#btn {width=30px;height=20px}
</STYLE>
<SCRIPT language="JavaScript">
var WB;
function InitWB(){
WB=document.all.tags("IFRAME").WB;
CT=document.body}
function ResizeWB(){
WB.style.width=CT.clientWidth-20;
WB.style.height=CT.clientHeight-50;
addrbar.style.width=CT.clientWidth-60}
function NaviWB(){WB.navigate(addrbar.value)}
</SCRIPT>
<BODY onload="InitWB()" onresize="ResizeWB()" oncontextmenu="return false" scroll="no">
<INPUT type="text" id="addrbar&#34;&#62;&#38;&#110;&#98;&#115;&#112;&#59;&#38;&#110;&#98;&#115;&#112;&#59;&#60;INPUT id="btn" onclick="NaviWB()" type="button" value="GO">
<IFRAME id="WB" style="width:572px;height:355px"></IFRAME></BODY></HTML>

-------------------------------------------------

ファイル名は別に何でも構わないが拡張子だけは hta に
しておくこと。関連付けのないファイルアイコンになるが
ダブルクリックすればブラウザは起動するはずだ。
0031デフォルトの名無しさんNGNG
「オブジェクトでサポートされていないメソッドまたはプロパティ」でブー。
とは言え、これおもしろいね。
0032デフォルトの名無しさんNGNG
>IUnknown
DIVとonclickとか駆使すれば擬似タブブラウザも作れそうですね。
結構スクリプトを書くのは面倒そうだけど31が言うように
面白いアイデアだね。ただ配布するには環境依存が強そう。
いちおうウチではちゃんと動きました。
ところでHTML Applicationってナニ???
0033??NGNG
age
0034デフォルトの名無しさんNGNG
あの, IEコンポーネントを使ってHTMLをパーシングできますか?
0035デフォルトの名無しさんNGNG
>>34
できるけど、遅いよ。
003634NGNG
遅いんですかぁ.
自動WEB巡回ソフトを考えてるんですけど
他にHTMLパーシングでいい方法あるでしょうか?

libwwwも考えたんですけどドキュメントが見つけ
られなくって・・・
0037デフォルトの名無しさんNGNG
perlのHTMLパーサ使えば?
003834NGNG
Winで動いて欲しいのでPerlはダメなんです.
(Win上でもPerlは動くけど, WinでCUIはいやなんで)
ちなみに環境はBCB5です.

PC-Unixも使ってるので出来たらC/C++汎用のがあれば
後々使い回せるのでうれしんですけど, 今はWin上で
動いてくれたらいいです.

スレの趣向から外れましたね. スマソ
0039デフォルトの名無しさんNGNG
>>38
自分で作っちゃえ!
そして、ソース公開。
みんなハッピー。
0040デフォルトの名無しさんNGNG
>>38
やった事ないけどActive ScriptでPerlScript使うのはどう?
http://www.mindspring.com/~mark_baker/
004134NGNG
>自分で作っちゃえ!
HTMLってかなり複雑そうな感じなんで自分には無理かと.

>やった事ないけどActive ScriptでPerlScript使うのはどう?
ActiveScriptはよく知らないけど, それをするぐらいなら
IEコンポーネント選びます.

というわけで, IEコンポーネントに傾きつつある今日この頃.
0042IUnknownNGNG
>34
そういうことに興味があるならRubyの256倍シリーズを
読んでみたらどうだい?直接は関係ないかもしれないが
結構面白いぞ。値段は1000円ちょいだしさ。
0043デフォルトの名無しさんNGNG
みんなマイクロソフトの戦略にはまってる・・・
彼らのWeb戦略の片棒を担ぐのは僕は嫌なんだけど。

まぁ、「毒食らわば皿まで」というから、いいけどね
0044デフォルトの名無しさんNGNG
>43
Microsoftが勝とうがSunが勝とうがどちらでもいい。
オレが儲かったらそれでいい。
0045デフォルトの名無しさんNGNG
なんか、流行に乗せられて、落とされる・・・
プログラム愛好者();
の哀しき運命を感じますなぁ。
0046但馬春人NGNG
はじめまして。新規スレ立ててしまい怒られてしまったのでこちらにやってきました。
(ご迷惑をおかけしてすみませんでした。)

IEのコンポーネントをVBで使って何か作ってみようと思いました。
どうせならただ表示するだけではなく、表示されたページの画像を任意のフォルダに
一気に自動ダウンロードするものでもやってみようか、と思い・・・作ってみましたが、
IEのコンポーネントの管理情報のどこにそれが存在するのか、ウォッチ文で開いて探しまくりましたが
判りませんでした。
情報が多すぎるか、ということで navigateに直接画像ファイルのURLを指定して、画像のみを開くと
いう風にしてみましたが、やはりどこに情報が存在するのかわかりませんでした。

知りたいのは picture 型の情報がどこにあるか、もしくは キャッシュとして取り込まれたファイルのハードディスク上の
位置です。

画像なんかIria等でドカドカ落とせばいい!という気もするのですが、たまにブラウザで表示しないと取得できない
ようなものがあるので、こういったものを1枚表示(ロード)しては自動保存・・・みたいな感じのツールにして
みたいと思っています。(既に表示までは出来ていますが、NavigateComplete2 のイベントで何やればいいのか判りません)

ご存知の方、何かヒントだけでもお願いします・・
0047デフォルトの名無しさんNGNG
結局、IEコンポを使う時のGIF絡みのUnisys問題はいったい
どういう結論に落ち着いたの?
0048デフォルトの名無しさんNGNG
そういやwin2kのファイルオープンダイアログでもGIFが表示できる
ってことで「利用不可なの?」みたいな論調があったけど…
どうなったんだろ?結局「まぁいいじゃん?」って感じになったの?
0049デフォルトの名無しさんNGNG
http://www.forest.impress.co.jp/article/2000/03/16/lzw_license.html
(一応参考文献)

#つーか特許が絡むのは圧縮アルゴリズムだろ?
#なんでブラウザみたいな展開&表示だけのソフトにもライセンスが絡むんだ?
#人が作ったGIFデータを眺めるだけでなんでUNISISが
#横槍入れてくるのか未だにわからない。
0050デフォルトの名無しさんNGNG
unisysに文句言われたら、
  ∧ ∧     ┌─────────
  ( ´ー`)   < シラネーヨ
   \ <     └───/|────
    \.\______//
      \       /
       ∪∪ ̄∪∪
と言うことに決まりました。
0051デフォルトの名無しさんNGNG
>>50
それできりぬけられればうれしいんだけど・・・。
GIF問題で法廷に持ち込まれて判決がハッキリ出た
ケースはまだないのだろうか?
0052デフォルトの名無しさんNGNG
この方法で逝こう!
ttp://homepage1.nifty.com/uchi/software.htm
0053デフォルトの名無しさんNGNG
>>52
いや、ここでの問題はIEコンポーネントでのGIF表示の問題だから
そういう問題とはちょっと違うのです。。。
IE自体にGIF表示だけOFFにするスイッチがあればいいんだけどなぁ。。。
0054但馬春人NGNG
私の質問は場違いだったのでしょうか?
趣味で作っているものなので急ぎはしませんが、もし判るかたいらっしゃいましたら
助言お願いします。
一応google等で検索して調べてはいます。
0055デフォルトの名無しさんNGNG
>>54
場違いつーか、2chで生真面目に答えを期待するその姿勢自体が
丸ごと間違っているような気がしないでもないです。
0056デフォルトの名無しさんNGNG
>>54
この板人少なそうだから
気長に待つのが吉。
ちなみに私はわかんないです。すまんね。。。
0057デフォルトの名無しさんNGNG
>>54
WinInet使うといいのでは?わからんけど、
0058de掘るとNGNG
>>54
質問自体があいまいで、何を知りたいのか、わからない。
0059デフォルトの名無しさんNGNG
よくわからんが、今読んでるデータなら、Documentのimagesだろうけど、
キャッシュの関係は分からんな。
もしかしたら、ここからリンクを辿ればヒントぐらいはあるかもしれん。
http://piza.2ch.net/tech/kako/971/971759695.html
0060デフォルトの名無しさんNGNG
>>49
Unisys はともかく、MSがダイアログにGIF関係を入れたのは、
GIFの著作権問題を嫌うフリーソフト作者(特にGNU関係者)に対して
ダイアログを使いにくくすることで、
彼らが無料ソフトを作りにくくするためだろう。

無料ソフトウェアなんてMSにとっちゃ天敵以外の何者でもないから。
0061但馬春人NGNG
>>58
目的:表示されたページの画像を任意のフォルダに一気に自動ダウンロードする プログラムの作成
質問:IEのコンポーネントの管理情報のどこにそれが存在するのか

それ:IEのコンポーネントクラスが管理している情報のどこに
    表示している画像の型(image)が存在しているのか
   ウォッチウィンドウからでは理解できなかった

これでわかります?
0062akiNGNG
>>60
そうゆうなや。
ネットワーク透過は確かにこれからの流れなんだ。
第一、直接の競合となりにくい「無料ソフトウェア」なんて目に入ってないんじゃないか?
むしろ、アプリケーションをいかに増やすかがOSを握ってる会社としての行動だろう。
0063デフォルトの名無しさんNGNG
ネットワーク十日
0064デフォルトの名無しさんNGNG
なんか意味不明な質問とゆにしすの話ばっかりだなー
0065デフォルトの名無しさんNGNG
UNISYS って NHKみたいだね。
IEコンポーネント=TV

0066デフォルトの名無しさんNGNG
>64
素直に理解不能といえ
0067デフォルトの名無しさんNGNG
>>60
どうしてこういうおかしなこと言う人がいるんだろ?
0068デフォルトの名無しさんNGNG
>65
うにしすはもともとエニアック特許でコンピューター全部に税金かけよう
としたところですからねえ
0069デフォルトの名無しさんNGNG
つーことで、IEコンポ使っても問題なしってことなのか?
0070デフォルトの名無しさんNGNG
>>69
問題なし。
0071デフォルトの名無しさんNGNG
>>70
そんな訳ねえよ
裁判に勝つことはできても、訴えられないってことじゃない
0072デフォルトの名無しさんNGNG
つまり、問題なし。
0073デフォルトの名無しさんNGNG
臆病者が損をするだけ。
007460NGNG
>>67
昔DOS時代にFDがフリーソフトとして出たために、
商用ファイラが全滅したことがあるし。
IEのせいでWebブラウザはほとんど死滅してしまったし。
ダウンローダーもフリーソフトが席巻してるし。
「あれ以外の何か」の話もあるし。

ソフトメーカなら恐れていない所はないと思う。
0075デフォルトの名無しさんNGNG
ていうか、ソフトメーカーは型どおりのものばっかにこだわらず、
もっと頑張れっちゅーねん
0076デフォルトの名無しさんNGNG
>>71
アメリカで裁判起こされて呼び出しがきても
無視してアメリカの裁判所に行かなかったらどうなるんだろ????
誰かに連れて行かれる?
0077デフォルトの名無しさんNGNG
でもアメリカのプログラミング系のウェブサイトを見ても
IEコンポを使うテクニックってそこら中で紹介されてて
誰も何も気にせず平然と使われてる感じするよ…。
IEコンポ云々で騒いでるのって日本だけかも?
0078デフォルトの名無しさんNGNG
だから問題なしだってば。
0079デフォルトの名無しさんNGNG
>>77
理解しているか?
米UNISYSが特許持ってて、ライセンスも発行していて裁判も米でおこすワケよ
勝てることがわかっている裁判だから訴えてくれるのを楽しみに待っているんだろ
日本だと費用、時間がかかり、とてもウザイぞ
0080デフォルトの名無しさんNGNG
だから負けると分かってるUNISYSはそもそも訴えるつもりなぞない
っちゅうことか?
0081デフォルトの名無しさんNGNG
>>79
IEコンポーネントとUNISYSの特許をいっしょにしちゃだめよ。
つーわけでIEコンポは問題なしだ。
0082デフォルトの名無しさんNGNG
1件訴えると何故ここは訴えないのか、とかの抗議の嵐になるのを
恐れているんではないか?
個人を訴えて企業を訴えなければ裏金もらったんだろうとか
言われまくると思う
0083デフォルトの名無しさんNGNG
>>81
そう、普通考えるといっしょにするのがそもそもおかしいって
感じなんだけど、UNISYS、MSともになんだか含んだような
歯切れの悪い言い方をしているのでみんなびびってるわけよ。
0084デフォルトの名無しさんNGNG
>>83
まあ、ライセンスのレートがハッキリしないから
莫大な請求をされる可能性にはびびるね
0085デフォルトの名無しさんNGNG
>>82
1件だけなら、見せしめで吊るされた運の悪いヤツと思うけど?
影響範囲が大きいから抗議運動になるかもね
0086デフォルトの名無しさんNGNG
>>85
抗議行動?
うちも訴えろってかい(ワラ
0087デフォルトの名無しさんNGNG
UnisysやMSの意図はまさにそこにあり
0088デフォルトの名無しさんNGNG
がいしゅつ?
http://member.nifty.ne.jp/hayazo/ae/
0089デフォルトの名無しさんNGNG
Visual Basic でWebブラウザ・コントロールのフォームを使って
文字列を入力にさせる方法についての質問です。
あるフォームのボタンでWebブラウザのフォームを開いてその中に
あるテキストフィールドから文字列を入力させ Submitボタンが
押されたら入力文字列を元のフォームに渡したいのですがその渡す
方法がわかりません。
HTMLコードの中に VBScript 書けますがそのコードと元のフォーム
の VB のコードの変数スコープは関係ないですよね。
どうやったらいいんでしょう。それともできないのか。
0090IUnknownNGNG
>89
SUBMITボタンのクリックイベントはともかくとして
テキストボックスの値を取得することまでは出来るのかい?
0091IUnknown NGNG
>89
そうそうイベント取得に関しては私が >>22 で書いているので
参考にしてほしい。
0092デフォルトの名無しさんNGNG
> 91
読みましたが知らない言葉がいっぱい (^_^;) 調べてみます。
22 の方法を使うとできそうなんでしょうか。それとも 90 の疑問の
とおり無理そうなんでしょうか。
0093デフォルトの名無しさんNGNG
>>89
できるよ。でも僕は説明する気はないので、
html dialog とかその辺をキーワードにして資料探しな。
0094デフォルトの名無しさんNGNG
Nice Age
0095デフォルトの名無しさんNGNG
Her toys are broken boys
0096デフォルトの名無しさんNGNG
彼女はスリルに殺されたがっている。
0097デフォルトの名無しさんNGNG
22番は今日で一週間っぽい
0098デフォルトの名無しさんNGNG
http://www.forest.impress.co.jp/article/2000/01/31/gif_lzw.html
http://www.forest.impress.co.jp/article/2000/03/16/lzw_license.html
一部心配している人がいるようだけど、
GIF関係のことは心配しなくていいみたいよ。
0099デフォルトの名無しさんNGNG
age
0100デフォルトの名無しさんNGNG
現在表示してるページをmhtで保存することってできますか?
もちろん、COMで。(メニューから選ぶということではないです。)
ExecWBあたりかとは思うんですけど。
0101デフォルトの名無しさんNGNG
IEの画像ONOFFを切り替えるボタンを作って下sい
■ このスレッドは過去ログ倉庫に格納されています