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

このエントリーをはてなブックマークに追加
1IUnknown
=====================================

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

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


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

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

ところでGIFの特許ってあと2年くらいで切れるんじゃなかったっけ?
84:2001/02/25(日) 04:24
自己解決しました。onclick とか onmousedown とかその他
すべてのイベントが拾えるようになりました。

ではでは。
9デフォルトの名無しさん:2001/02/25(日) 04:30
>>8
どうやったかとか書いてほしい。
10デフォルトの名無しさん:2001/02/25(日) 08:05
>>7
日本だと2004年できれるはず。日本では。
11デフォルトの名無しさん:2001/02/25(日) 09:23
>まいくろそふと、うにしす、裏でなんか手結んでんのかな?
俺もその可能性を考えたことあるけど、MSにとっては百害あって
一利無しなんで多分、ないと思う
12デフォルトの名無しさん:2001/02/25(日) 10:59
じゃあなんで、gifなんだろ、pngでもいいのに
13デフォルトの名無しさん:2001/02/26(月) 00:28
Delphiっす。
TWebBrowserにwriteで書き込む方法と、クリアの仕方を教えてください。
お願い。
14デフォルトの名無しさん:2001/02/26(月) 02:13
少佐っちめっけ。
15名無しさん:2001/02/26(月) 02:45
IEAKは入手したか?
16デフォルトの名無しさん:2001/02/26(月) 05:07
>>12
PNGだと展開が遅すぎるんじゃなかろうか。
17デフォルトの名無しさん:2001/02/26(月) 08:14
>>16
うーん、XPがインストールされるマシンでそれは無いような気がする…。
比較的ってのはわかるけど。

それに、WEBでpngがそこそこ普及してるけど、
png遅いからイヤ!って言う人は聞かないよねー。
18デフォルトの名無しさん:2001/02/26(月) 08:41
>png遅いからイヤ!って言う人は聞かないよねー。

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

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

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

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

Public WithEvents MyObject As MSHTML.HTMLBody

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

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

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

使用している単純なサンプルなどあればいいのですが・・・
26デフォルトの名無しさん:2001/02/27(火) 15:25
↑ CWebBrowser2 も使ってはいけないってこと?
それなら、難しくて分からないや。
27デフォルトの名無しさん:2001/02/27(火) 16:03
>>23
この辺から見始めたらどうかな?

http://msdn.microsoft.com/workshop/browser/ext/overview/Bands.asp
28デフォルトの名無しさん:2001/02/28(水) 11:20
>>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コンポーネント使ってる例だと最高なんですが。
2925:2001/02/28(水) 14:42
>26
すいません、私はCWebBrowser2を知らないのですが、
MFCのIEを使用するクラスなのでしょうか?
30IUnknown:2001/02/28(水) 19:51
お遊びではあるが世界最小のブラウザを作ってみた。
ファイルサイズは実に 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 に
しておくこと。関連付けのないファイルアイコンになるが
ダブルクリックすればブラウザは起動するはずだ。
31デフォルトの名無しさん:2001/02/28(水) 20:45
「オブジェクトでサポートされていないメソッドまたはプロパティ」でブー。
とは言え、これおもしろいね。
32デフォルトの名無しさん:2001/02/28(水) 23:18
>IUnknown
DIVとonclickとか駆使すれば擬似タブブラウザも作れそうですね。
結構スクリプトを書くのは面倒そうだけど31が言うように
面白いアイデアだね。ただ配布するには環境依存が強そう。
いちおうウチではちゃんと動きました。
ところでHTML Applicationってナニ???
33??:2001/03/13(火) 17:46
age
34デフォルトの名無しさん:2001/03/14(水) 18:15
あの, IEコンポーネントを使ってHTMLをパーシングできますか?
35デフォルトの名無しさん:2001/03/14(水) 18:38
>>34
できるけど、遅いよ。
3634:2001/03/14(水) 19:13
遅いんですかぁ.
自動WEB巡回ソフトを考えてるんですけど
他にHTMLパーシングでいい方法あるでしょうか?

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

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

スレの趣向から外れましたね. スマソ
39デフォルトの名無しさん:2001/03/14(水) 22:45
>>38
自分で作っちゃえ!
そして、ソース公開。
みんなハッピー。
40デフォルトの名無しさん:2001/03/14(水) 23:37
>>38
やった事ないけどActive ScriptでPerlScript使うのはどう?
http://www.mindspring.com/~mark_baker/
4134:2001/03/15(木) 00:30
>自分で作っちゃえ!
HTMLってかなり複雑そうな感じなんで自分には無理かと.

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

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

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

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

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

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

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

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

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

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

これでわかります?
62aki:2001/03/26(月) 15:39
>>60
そうゆうなや。
ネットワーク透過は確かにこれからの流れなんだ。
第一、直接の競合となりにくい「無料ソフトウェア」なんて目に入ってないんじゃないか?
むしろ、アプリケーションをいかに増やすかがOSを握ってる会社としての行動だろう。
63デフォルトの名無しさん:2001/03/26(月) 18:08
ネットワーク十日
64デフォルトの名無しさん:2001/03/26(月) 23:30
なんか意味不明な質問とゆにしすの話ばっかりだなー
65デフォルトの名無しさん:2001/03/27(火) 01:36
UNISYS って NHKみたいだね。
IEコンポーネント=TV

66デフォルトの名無しさん:2001/03/27(火) 12:25
>64
素直に理解不能といえ
67デフォルトの名無しさん:2001/03/27(火) 13:41
>>60
どうしてこういうおかしなこと言う人がいるんだろ?
68デフォルトの名無しさん:2001/03/27(火) 13:54
>65
うにしすはもともとエニアック特許でコンピューター全部に税金かけよう
としたところですからねえ
69デフォルトの名無しさん:2001/03/28(水) 16:19
つーことで、IEコンポ使っても問題なしってことなのか?
70デフォルトの名無しさん:2001/03/28(水) 16:52
>>69
問題なし。
71デフォルトの名無しさん:2001/03/28(水) 17:35
>>70
そんな訳ねえよ
裁判に勝つことはできても、訴えられないってことじゃない
72デフォルトの名無しさん:2001/03/28(水) 19:27
つまり、問題なし。
73デフォルトの名無しさん:2001/03/28(水) 19:28
臆病者が損をするだけ。
7460:2001/03/28(水) 19:39
>>67
昔DOS時代にFDがフリーソフトとして出たために、
商用ファイラが全滅したことがあるし。
IEのせいでWebブラウザはほとんど死滅してしまったし。
ダウンローダーもフリーソフトが席巻してるし。
「あれ以外の何か」の話もあるし。

ソフトメーカなら恐れていない所はないと思う。
75デフォルトの名無しさん:2001/03/28(水) 20:37
ていうか、ソフトメーカーは型どおりのものばっかにこだわらず、
もっと頑張れっちゅーねん
76デフォルトの名無しさん:2001/03/29(木) 03:10
>>71
アメリカで裁判起こされて呼び出しがきても
無視してアメリカの裁判所に行かなかったらどうなるんだろ????
誰かに連れて行かれる?
77デフォルトの名無しさん:2001/03/29(木) 03:19
でもアメリカのプログラミング系のウェブサイトを見ても
IEコンポを使うテクニックってそこら中で紹介されてて
誰も何も気にせず平然と使われてる感じするよ…。
IEコンポ云々で騒いでるのって日本だけかも?
78デフォルトの名無しさん:2001/03/29(木) 07:11
だから問題なしだってば。
79デフォルトの名無しさん:2001/03/29(木) 11:53
>>77
理解しているか?
米UNISYSが特許持ってて、ライセンスも発行していて裁判も米でおこすワケよ
勝てることがわかっている裁判だから訴えてくれるのを楽しみに待っているんだろ
日本だと費用、時間がかかり、とてもウザイぞ
80デフォルトの名無しさん:2001/03/29(木) 16:27
だから負けると分かってるUNISYSはそもそも訴えるつもりなぞない
っちゅうことか?
81デフォルトの名無しさん:2001/03/29(木) 16:48
>>79
IEコンポーネントとUNISYSの特許をいっしょにしちゃだめよ。
つーわけでIEコンポは問題なしだ。
82デフォルトの名無しさん:2001/03/29(木) 17:27
1件訴えると何故ここは訴えないのか、とかの抗議の嵐になるのを
恐れているんではないか?
個人を訴えて企業を訴えなければ裏金もらったんだろうとか
言われまくると思う
83デフォルトの名無しさん:2001/03/29(木) 17:48
>>81
そう、普通考えるといっしょにするのがそもそもおかしいって
感じなんだけど、UNISYS、MSともになんだか含んだような
歯切れの悪い言い方をしているのでみんなびびってるわけよ。
84デフォルトの名無しさん:2001/03/29(木) 18:47
>>83
まあ、ライセンスのレートがハッキリしないから
莫大な請求をされる可能性にはびびるね
85デフォルトの名無しさん:2001/03/29(木) 19:23
>>82
1件だけなら、見せしめで吊るされた運の悪いヤツと思うけど?
影響範囲が大きいから抗議運動になるかもね
86デフォルトの名無しさん:2001/03/29(木) 19:30
>>85
抗議行動?
うちも訴えろってかい(ワラ
87デフォルトの名無しさん:2001/03/29(木) 20:11
UnisysやMSの意図はまさにそこにあり
88デフォルトの名無しさん:2001/04/18(水) 15:25
89デフォルトの名無しさん:2001/04/18(水) 17:25
Visual Basic でWebブラウザ・コントロールのフォームを使って
文字列を入力にさせる方法についての質問です。
あるフォームのボタンでWebブラウザのフォームを開いてその中に
あるテキストフィールドから文字列を入力させ Submitボタンが
押されたら入力文字列を元のフォームに渡したいのですがその渡す
方法がわかりません。
HTMLコードの中に VBScript 書けますがそのコードと元のフォーム
の VB のコードの変数スコープは関係ないですよね。
どうやったらいいんでしょう。それともできないのか。
90IUnknown:2001/04/19(木) 12:53
>89
SUBMITボタンのクリックイベントはともかくとして
テキストボックスの値を取得することまでは出来るのかい?
91IUnknown :2001/04/19(木) 12:58
>89
そうそうイベント取得に関しては私が >>22 で書いているので
参考にしてほしい。
92デフォルトの名無しさん:2001/04/19(木) 13:11
> 91
読みましたが知らない言葉がいっぱい (^_^;) 調べてみます。
22 の方法を使うとできそうなんでしょうか。それとも 90 の疑問の
とおり無理そうなんでしょうか。
93デフォルトの名無しさん:2001/04/19(木) 16:36
>>89
できるよ。でも僕は説明する気はないので、
html dialog とかその辺をキーワードにして資料探しな。
94デフォルトの名無しさん:2001/04/25(水) 23:19
Nice Age
95デフォルトの名無しさん:2001/04/30(月) 13:45
Her toys are broken boys
96デフォルトの名無しさん:2001/04/30(月) 23:38
彼女はスリルに殺されたがっている。
97デフォルトの名無しさん:2001/05/01(火) 23:42
22番は今日で一週間っぽい
98デフォルトの名無しさん:2001/05/02(水) 01:01
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関係のことは心配しなくていいみたいよ。
99デフォルトの名無しさん:2001/05/19(土) 04:16
age
100デフォルトの名無しさん:2001/06/04(月) 17:15
現在表示してるページをmhtで保存することってできますか?
もちろん、COMで。(メニューから選ぶということではないです。)
ExecWBあたりかとは思うんですけど。
101デフォルトの名無しさん:2001/06/04(月) 20:34
IEの画像ONOFFを切り替えるボタンを作って下sい
102IUnknown:2001/06/04(月) 22:29
103石田(兄):2001/06/05(火) 02:51
ブラウザ画面をアプリに埋め込むまではWebBrowserオブジェクトを
MFCで埋め込むとして
ページ移動とかをプログラミングとかで、エフェクト処理
したい(ページをめくるアニメとか)んだけど、
なんかいいアイディアありますか?
104デフォルトの名無しさん:2001/06/05(火) 10:45
ページトランジションとバッティングしそうですね。
105デフォルトの名無しさん:2001/06/05(火) 10:51
>>103
今思いついたアイディアだけ。可能かどうかは不明。
1.HtmlView(A)と普通のView(B)を作り、同じ大きさで重ねて配置する。
2.通常はAが表。
3.OnBeforeNavigateで、Aの画面イメージをビットマップ(C)で取り込む
4.CをBにコピーし、Bを前面に出す。
5.裏にまわっているAのHtml表示が終わるのを待つ。
6.Aの画面イメージをビットマップ(D)で取り込む。
7.CとDを適当に合成(エフェクト処理)しながらBで表示
8.Aを表に出す。
106石田(兄):2001/06/05(火) 17:02
なるほど
>105
ブラウザ画面(非表示でも)をビットマップに変換できる命令が
あれば、なんとかなりそうだな。
近いうち実際にやってみるので、また報告するわ
107デフォルトの名無しさん:2001/06/05(火) 17:12
>ブラウザ画面(非表示でも)をビットマップに変換できる命令が

命令もなにも・・・デバイスコンテキスト取得してコピーするだけだと思うが
108デフォルトの名無しさん:2001/06/05(火) 17:55
>100
COMでっつーのは無理じゃん?よく氏らねーけど。でもオートメーションってことなら
手は、ある。
109IUnknown:2001/06/06(水) 12:11
>100
COMでというのはどういう意味でしょう?
開発言語はなんですか?

>108
オートメーションというのはCOMのプロトコルを基盤とした
技術です。
110デフォルトの名無しさん:2001/06/06(水) 12:23
>>105
の5の表示が終わるのって、ページトランジションが
終了してからイベントが発生したり、Busyじゃなくなったり
するんですか、それとも前?
111デフォルトの名無しさん:2001/06/06(水) 14:06
>>106
IViewObject を QueryInterface して Draw すればいいじゃん??
コントロール本体から query するのか、get_Document した先から
query するのか、とかはちょっと調べてみて。
112100:2001/06/06(水) 14:38
>>109
開発環境はVC++とMFCです。
COMコールさえ発行できれば言語には依存しないとは思いますが。

保存したいページのIHTMLDocument2なり、
それを含むIWebBrowser2なりは既に取得済みって前提
でお願いします。
113IUnknown:2001/06/06(水) 18:52
>>100
>COMコールさえ発行できれば言語には依存しないとは思いますが。
いやいや、スクリプト言語からだったらいろいろ制限があるでしょ。
IDispatchしか使えないし。そう意味でちょっと訊きました。

これからちょっと調べてみますけど
あまり期待しないでくださいね。
IOleCommandTarget::Exec あたりがあやしいかなと。。。
114108:2001/06/06(水) 19:46
誤解される表現でしたね、OLEオートメーションという意味でなくて
自動的というぐらいの意味です。で、方法ですが、私だったらインターフェイス
経由はあきらめて、ダイアログウィンドウをトラップしてAPIでゴリゴリ
ますね。
115デフォルトの名無しさん:2001/06/06(水) 20:27
なんか、ちっとも便利じゃないね (^^;) COMって
100の機能を呼び出すために、I/F実装で80ぐらいの
労力が必要って言うか…
詳細のわからんモノ、リンクする危険性を考え合わせたら
ゼロから実装し直したほうが、結果的には吉と出るような…
116デフォルトの名無しさん:2001/06/06(水) 20:47
>>115
つまりあと20でこれほど多機能なwebブラウザが書ける、
と言っているわけですね。僕はあんまり同意しないな〜。
117デフォルトの名無しさん:2001/06/06(水) 21:21
VCでMSHTMLを使ったコードをコンパイルするのってめちゃくちゃ大変ですよね?
なんとかなりませんか?あれ。
118デフォルトの名無しさん:2001/06/06(水) 23:36
>>117
何が大変なんですか?
ヘッダ足して、ライブラリリンクするだけだと思うんですけど。
importは使ってないのでわかりません。
119デフォルトの名無しさん:2001/06/10(日) 12:55
IHTMLFrameElementを既に取得しているとして、そのフレーム内の
ドキュメントのIHTMLDocument2を取得する方法を教えてください。
IHTMLFrameElementのIHTMLWindow2が取れれば、後は、
IHTMLWindow2->get_document()でいけそうな気がするんですが。
開発環境はVC++。
120デフォルトの名無しさん:2001/06/10(日) 13:04
>>118
VBでIEのコンポーネント使ったとき、入力支援が動くけど、
VCでこれは…できる? クラスの情報が大きすぎてフリーズしたかと思ったよ。
121デフォルトの名無しさん:2001/06/10(日) 13:04
どうやってIHTMLFrameElementは取得したの?
122デフォルトの名無しさん:2001/06/10(日) 13:05
>>119
やってみた?
123119:2001/06/10(日) 13:51
>>121
CHtmlView::GetHtmlDocument (=IHTMLDocument2)のget_activeElementからです。

>>122
思いつく限り。
IHTMLFrameElement->QueryInterface(IHTMLDocument2)とか。
IE5.5以降なら、IHTMLFrameBase2があるんで、IHTMLFrameBase2->contentWindowで
IHTMLWindowが取れて、IHTMLWindow->get_document()できそうですが、IE5だと、
IHTMLFrameBase2がありません。
124デフォルトの名無しさん:2001/06/10(日) 14:39
泥臭くて恐縮ですが、document.all.tags('FRAME').item(n)をnを変えながら
document.activeElementと比較して、あたりのnの値でdocument.frames.item(n)
を呼んでやるというのはどうでせうか。
125デフォルトの名無しさん:2001/06/10(日) 14:53
名前が保証されてるならdocument.all.tags('FRAME').item(n)でなくて
直接document.frames.item(n)でもいいかもしれません。
126118:2001/06/10(日) 21:18
>>120
重かったっけ?
当方、PenIII-933+Memory(SDRAM) 1G。特に重いと思ったことは無いです。
127デフォルトの名無しさん :2001/06/10(日) 22:51
age
128IUnknown:2001/06/10(日) 23:25
>>124、 125
Cでオートメーション呼び出しって結構面倒なのでは?
129119:2001/06/11(月) 20:02
>>124
コメントありがとうございます。やってみました。
document.frames.itemはC++でいうと、
IHTMLDocument2::get_frames --> IHTMLFrameCollection2
IHTMLFrameCollection2::item()
なので(だと思うので)、そうやって、IDispatchを取得
しました。
が、これから何をQueryInterfaceすればよいのかわかりません。
やってみたインターフェイスは
IHTMLElement: NG
IHTMLElementCollection: NG
IHTMLDocument: NG
IHTMLWindow2: OK
で、ありそうなものでインターフェイスが取得できたのは
IHTMLWindow2だけでした。
でも、これでIHTMLWindow2::get_documentで解決、
と思ったのですが、IHTMLWindow2::get_documentではNULL
しか得られませんでした。
IHTMLWindow2::get_nameの値を見ると、目的のフレームと
一致しています。
もう一歩だと思うのですが…
130デフォルトの名無しさん:2001/06/13(水) 17:26
HtmlViewではなくて、
ActiveXコントロールオブジェクト MS Web Browser
で103〜106あたりを実現するほうほうありますか?
CWebBrowser2クラスをつかって
131デフォルトの名無しさん:2001/06/16(土) 22:00
HtmlViewクラスを用いずに、
ActiveXコントロールオブジェクトの「Microsoft Web Browser」
オブジェクト&CWebBrowser2クラスで103〜106あたりを実現する
方法はありますか?
教えてください
132デフォルトの名無しさん:2001/06/17(日) 10:14
IEコンポーネントを使いIEを倒すスレ
133デフォルトの名無しさん:2001/06/17(日) 16:34
MS Web Browserオブジェクトを用いて表示させたブラウザ画面の
イメージをCBitmap(要するにビットマップイメージとして)に
取り込みたいのですが。
ただし、そのウィンドウ&ブラウザ画面は非表示のままで。
(すなわち、本当はダイアログウィンドウは不要なのですが、
MS Web Browserオブジェクトを貼り付ける都合上作成)

何か方法はないでしょうか?
134デフォルトの名無しさん:2001/06/17(日) 16:51
IEのコンポーネントからSSLで通信する部分だけ利用するってことはできるんでしょうか。
View部分とかはIEのものは使いたくないんですが・・。
ご教示ください。
135デフォルトの名無しさん:2001/06/17(日) 20:03
WinInet?
136107番について:2001/06/18(月) 00:08
107について、非表示のデバイスコンテキストをビットマップに
取り込むのは無理ではないか?
あるいは表示状態でも、上にIMEのフローティングパレットなどが
のっていると、それも一緒にビットマップに取り込まれてしまうような
気がする・・・
137デフォルトの名無しさん:2001/06/18(月) 09:37
メタファイルに印刷できれば??
138デフォルトの名無しさん:2001/07/01(日) 19:07
質問です
ダイアログでWeb BrowserオブジェクトでIEのWebページを表示できますが、
これを画面に表示しないで、ビットマップイメージを取得する方法
ありますか?
教えてください
139デフォルトの名無しさん:2001/07/01(日) 19:28
httpのエラーコードを取得するにはどうすればいいんでしょうか
140デフォルトの名無しさん:2001/07/02(月) 01:27
質問です
ダイアログでWeb BrowserオブジェクトでIEのWebページを表示できますが、
これを画面に表示しないで、ビットマップイメージを取得する方法
ありますか?
教えてください
141デフォルトの名無しさん:2001/07/02(月) 01:34
質問に答える人がいないようです。終了ですか?
142デフォルトの名無しさん:2001/07/02(月) 14:05
答えてみよう。

>>140
"OleDraw"で一応、可能の模様。
しかしながら、いくらサイズを指定しても、元になるWebBrowserコントロールの
サイズ分の大きさだけしかレンダリングされませんでした。
あんまり突っ込んで調べなかったのですが、WebBrowserコントロールを非表示にして、
一時的にでも望みのサイズに変更してからOleDrawに渡せば、任意のサイズで
ページがレンダリングされるはず。

文字の大きさも画面とは違うサイズで表示されたようですが、IViewObject::Drawの方で
出力デバイスを細かく指定してやればうまくいくかも。
とりあえず、このあたりから探っていけば出来るかも、ということで。
143デフォルトの名無しさん:2001/07/02(月) 15:37
IEコンポーネントをコピーするにはどうすればよいでしょう?
IEだと Ctrl+N で別ウィンドウが立ち上がって、そこには
「戻る」他の情報もコピーされてるんで、できないことはないとおもうんだけど
144デフォルトの名無しさん:2001/07/02(月) 15:41
コピー? ヒストリがほしいだけ?
145デフォルトの名無しさん:2001/07/02(月) 23:57
ありがとうございます
>>142
そもそも、そのあたりを掘り進んでいくためには
どのへんの資料、リファレンスをみればよいのでしょうか
146デフォルトの名無しさん:2001/07/03(火) 00:57
>>145
googleでOleDrawを検索すると、Delphiで試みられた例が出てきますね。
あとMS(US)のサイトでOleDrawとかIViewObject::Drawで検索すれば、
いろいろ参考になるものが出てきます。
147デフォルトの名無しさん:2001/07/03(火) 12:02
IHlinkTarget を QueryService か QueryInterface して、
GetBrowseContext したのを Clone して新しいほうに
SetBrowserContext するの >>143
148デフォルトの名無しさん:2001/07/03(火) 12:05
OleDraw は WebBrowser コントロールのを呼ぶか、get_Document
した先の Document のを呼ぶか、とかでも動作が異なったと思う。
149デフォルトの名無しさん:2001/07/03(火) 12:47
>>147
どっからQIしていけばいいの?
get_Document -> IHlinkTarget -> GetBrowseContext
で辿ってったら、IHlinkBrowseContext* にNULLを返されました。
コントロール相手だと駄目なのかな。
150デフォルトの名無しさん:2001/07/03(火) 13:34
>>148
ほんとうですね。
get_Documentした先のDocumentをOleDrawに渡せば、
描画先領域のサイズを任意に設定できました。
俺ばっか納得しててもなんなので、サンプル提供。
VCでダイアログベースのプロジェクトつくってブラウザ貼り付けて
m_browserって名前でラップしてOnOKかなんかを以下のコードで
オーバーライド。デスクトップにページをレンダリングしてくれました。
必要ならメモリDCとかに描けばよいかと思います。
…でもやっぱサイズとか、変だな。

--------
HDC hDC=::GetWindowDC(NULL);
RECT rect;
SetRect(&rect,0,0,640,480);
IDispatch* pDoc=m_browser.GetDocument();
if(pDoc){
OleDraw(pDoc,DVASPECT_CONTENT,hDC,&rect);
pDoc->Release();
}
::ReleaseDC(NULL,hDC);
--------
151150:2001/07/03(火) 13:55
忘れてた。
#include <hlink.h>
も入れとくべし。
152デフォルトの名無しさん:2001/07/05(木) 06:38
あるWebBrowserオブジェクト(m_web_view1
)をプリントプレビュー&プリント
するには、

// Verify the Web Browser control is valid.
LPDISPATCH lpDispApp = m_web_view1.GetApplication();
if(lpDispApp)
{
// Get the HTMLDocument interface.
LPDISPATCH lpDispDoc = m_web_view1.GetDocument();
if (lpDispDoc != NULL)
{
// Get the IOleCommandTarget interface so that we can dispatch the command.
LPOLECOMMANDTARGET lpTarget = NULL;
if (SUCCEEDED(lpDispDoc->QueryInterface(IID_IOleCommandTarget, (LPVOID*) &lpTarget)))
{
// Execute the print preview command. The control will handle the print preview GUI.
// OLECMDID_PRINTPREVIEW is defined in "docobj.h".
lpTarget->Exec(NULL, OLECMDID_PRINTPREVIEW, 0, NULL, NULL);
lpTarget->Release();
}
lpDispDoc->Release();
}
lpDispApp->Release();
}

のようなコードでできますが、へんな座標にへんな大きさでプリント
プレビューウィンドウが表示されてしまいます。
MoveWindow関数のように、任意の位置に表示させる方法ないでしょうか
教えてください
153デフォルトの名無しさん:2001/07/05(木) 11:20
Delphi だとhlinkがつかえん...
だれかなんとかしてたもれ
154デフォルトの名無しさん:2001/07/05(木) 12:32
>>153
自分でなんとかせぇや
155152:2001/07/06(金) 05:24
そこをなんとか教えていただけませんか
一日中また、やりすごしてしまいました
156デフォルトの名無しさん:2001/07/06(金) 06:36
>>152
まともなやりかたはないと思うよ。多分。
HOOKするしかないんじゃない。
157150:2001/07/06(金) 09:46
>>152
Document相手ではなく、IWebBrowser2か、CHTMLViewのExecWBで
OLECMDID_PRINTPREVIEW を実行すれば良いと思われ

>>151
#include <hlink.h> は150のサンプルには無関係でした。
149=150で、おんなじプログラムで実験してたんで、混ざった。
158157:2001/07/06(金) 10:13
コードをコピペして試してみたけど、ダイアログにコントロール張った
プロジェクトでは、ダイアログの大きさに合わせてプレビューが表示された。
メインか親ウィンドウか何かにサイズを合わせるみたいなんで、
そこんとこでなんとかならんもんだろうか?
159デフォルトの名無しさん:2001/07/06(金) 19:43
url ファイル(インターネット ショートカット)を
IEコンポーネントで開く正しい方法って何?
つい、INIファイルとしてURLを取り出しちゃうんだけど...
これって間違ってるような気がする
(フレームの中身までは対応できないし。一個ずつ解析ってのも...)
160デフォルトの名無しさん:2001/07/08(日) 06:48
>>159
もう遅いかも知れんが、
ttp://nt.sakura.ne.jp/~miwaki/progtips/shortcut/getlink.shtml

ttp://nt.sakura.ne.jp/~miwaki/progtips/shortcut/createin.shtml
を組み合わせれば、インターネットショートカットのリンク先を
取得することはできる。フレーム対応は俺も知らん。
161159:2001/07/12(木) 11:36
ありがと。
でも、それだと「履歴」フォルダとか解析できない...同じ方法じゃあだめなのか?
162デフォルトの名無しさん:2001/07/14(土) 11:39
MFCのWebBroserオブジェクトで、Navigate()などを使って
Webページを表示しますが、「カチ」とクリック音が鳴ってしまいます。
これをオフにする方法はないでしょうか?
どうか教えてください
163デフォルトの名無しさん:2001/07/14(土) 14:19
hage
164デフォルトの名無しさん:2001/07/15(日) 01:59
mage
165マルチ:2001/07/15(日) 11:59
urlファイル(インターネット ショートカット)内のフレームについては、

[DOC#4#5]
BASEURL=http://www.2ch.net/bbsmenu.html

たとえばこのような場合、ページ内の
window.document.all[4]
にあるFRAMESETタグ内の
window.document.all[5]
にあるFRAMEタグのurlが
http://www.2ch.net/bbsmenu.html
といった感じだと思う。
(一昔前に解析した)
166デフォルトの名無しさん:2001/07/15(日) 21:37
>>162
ボリュームミュート
167デフォルトの名無しさん:2001/07/18(水) 03:44
150の件なのですが、
Webブラウザオブジェクトが不可視状態(ShowWindow(SW_HIDE))のときは
OleDrawしても、何もドローされませんね
元のWebブラウザオブジェクトは不可視で、裏で処理したい場合
どうすればよいのでしょうか?
168デフォルトの名無しさん:2001/07/18(水) 22:56
>>161
またまた遅いかも知れんが、履歴の取得には
IUrlHistoryStgを使うのが正しいらしいぞ。

ttp://msdn.microsoft.com/library/default.asp?url=/workshop/networking/urlhist/IUrlHistoryStg/IUrlHistory.asp
参考ね。
IUrlHistoryStg2を使うと、履歴の全削除もできるぞ。
169デフォルトの名無しさん:2001/07/19(木) 01:05
5.5以降ってのが痛いな。
それ使わなくても一応履歴は触れるしな。
170デフォルトの名無しさん:2001/07/20(金) 08:19
IEコンポーネントとは、ただIEを呼び出すだけで、
GIFを読めるのを作ったわけじゃないと思うんだけどなぁ。うーん。。。
(1人の厨房の意見)
171デフォルトの名無しさん:2001/07/20(金) 19:21
>>170
動的リンクしたライブラリはそのソフトの一部かどうかって問題だな。
機能的には一部どころじゃないが(w
172デフォルトの名無しさん:2001/07/21(土) 23:44
IriaみたいにIEコンポーネント内で右クリックしたときだけ
メニューに独自項目を追加するのはどうやんの?
開発環境はVC
173デフォルトの名無しさん:2001/07/22(日) 08:01
174デフォルトの名無しさん:2001/07/22(日) 10:56
MFCのWebBroserオブジェクトで、Navigate()などを使って
Webページを表示しますが、「カチ」とクリック音が鳴ってしまいます。
これをオフにする方法はないでしょうか?
かなり何日もなやんでいてそれでもわかりません
どうか教えてください
175IUnknown:2001/07/22(日) 10:59
いやあ、書き込みは久しぶりですな。

>>172
Iria などが行っているような IEコンポーネントすべてに対して
適用される標準メニューとしてであれば下記をごらん下され。
開発環境とは無縁であることがおわかりになるであろう。

http://www.microsoft.com/JAPAN/support/kb/articles/J041/2/49.htm

これとは異なり自身のアプリケーションのみで働かせたいというなら
結構面倒になる。まずは IDocHostUIHandler をキーワードに
色々と調べてみてくれ。Microsoftのサイトのどこかで解説されていた
のだが失念してしまった。
176デフォルトの名無しさん:2001/07/22(日) 12:56
>>174
いいかげんうぜえな。
HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Explorer\Navigating\.current
を消せ。
177デフォルトの名無しさん:2001/07/22(日) 17:22
うのみにされて勝手にシステムの設定変えられるようなコード書かれると
非常に迷惑なんですが
178デフォルトの名無しさん:2001/07/22(日) 18:09
>>177
そんな奴の書いたコードなんか使わなければいい。
179デフォルトの名無しさん:2001/07/23(月) 21:49
150あたりででてくる「OleDraw」は、呼び出した直後に
描画は完了しているのでしょうか?
それとも描画の完了をチェックする必要があるのでしょうか?
教えてください
180デフォルトの名無しさん:2001/07/24(火) 09:47
>>179
OleDraw直後にブレークポイント設定してみた限りでは、完了してる。
それ以上に細かいタイミングとなると、わかんないけど。
ついでに>>167
MFC上での話だけど、
当方ではm_browser.ShowWindow(SW_HIDE);では、
その後にGetDocumentしたときにアサートに引っかかる。
::ShowWindow((HWND)(m_browser.GetSafeHwnd()),SW_HIDE);
だとOKなようだ。OleDrawで描画もされるし。
181デフォルトの名無しさん:2001/07/28(土) 00:41
なるほどありがとうございます
>180
また、別の疑問なのですがブラウザ内で
gifアニメやフラッシュの動きを一時的に停止/再開する方法って
ありますか?
ご存知の方教えてください
182デフォルトの名無しさん:2001/07/28(土) 00:54
>>181
フックしてWM_TIMERを横取りして、本来のWindowプロシージャに渡さない。
で、できるかどうかは知らない。
183デフォルトの名無しさん:2001/07/28(土) 02:16
>>181
不可能と思われ
184181:2001/07/28(土) 14:31
gifアニメやフラッシュの動きを一時的に停止というよりは、
ブラウザ画面全体を、更新を行わない静止画、として一時的に
扱いたいわけです
前にあったOleDrawでDCに書き出すのではなく、
そのまま、Webオブジェクトを可視にしたまま。
185デフォルトの名無しさん:2001/07/28(土) 18:27
スクリーンショットでも取ればいいだろ
何がしたいんだよ
186デフォルトの名無しさん:2001/07/30(月) 01:53
BrowserのDocumentへ直接文字列を書込んで表示しています。
表示が終わったら、HTMLの<A NAME="XXX">に移動したいのですが、
移動する方法とかあるのでしょうか?
187デフォルトの名無しさん:2001/07/30(月) 02:58
IEがらみでついでに質問なのですが
(プログラミングとそれてすいません、ここのほうが的確かとおもって)
LAN接続して使っている複数のWindowsマシンのIEのブックマークの
内容を同期してくれるソフトってないですかね?
片方で何かを追加すると、ほかにも反映してくれるという感じの。
188デフォルトの名無しさん:2001/07/30(月) 03:30
プログラミングとそれていてなんでここが的確だと思うんだか
頭にウジでも湧いてんのか?
189デフォルトの名無しさん:2001/07/30(月) 04:26
>>187
ブリーフケース
190デフォルトの名無しさん:2001/07/30(月) 09:41
WinDiff
191デフォルトの名無しさん:2001/07/30(月) 09:43
すまん、比較だけじゃなかったのね。
192デフォルトの名無しさん:2001/08/01(水) 19:51
VBでIEコンポーネントを使っているのですが、コンポーネント自体に
フォーカスがある場合、VBでは一部のショートカットキー(Ctrl+O、Ctrl+S等)が
拾えません。現在はフォーカスが当たっているときだけ「RegisterHotKey」
でホットキーを設定しているのですが、もっとスマートな方法って無い物でしょうか?
193デフォルトの名無しさん:2001/08/02(木) 22:46
>>192
Fuck
194デフォルトの名無しさん:2001/08/04(土) 01:49
WebオブジェクトのサイズにフィットするWebページを表示させているときでも
(要するに、画面のスクロールが不要なとき)
右側に、スクロールバーが表示されてしまいますが、これを消す方法って
ないでしょうか?
教えてください
195デフォルトの名無しさん:2001/08/04(土) 13:04
HTMLでできないの?
196194:2001/08/06(月) 02:38
>>195
IEで何かのページを表示させても
常に右側に表示されているスクロールバーを消したいのです。
HTMLで理屈上は何も表示されていないので、NetScapeなどで表示させると
表示されません。(スクロールの必要がない場合)
それをなんとか消したい(非表示にしたい)のです
197デフォルトの名無しさん:2001/08/06(月) 02:42
フレーム内にいれて、FRAMEタグでSCROLLING=no
198デフォルトの名無しさん:2001/08/06(月) 03:28
>>197
WinのIEでは、それでも右側にバーが表示されるはず・・・
199197:2001/08/06(月) 10:08
<html>
<FRAMESET>
<FRAME src="http://www.yahoo.co.jp" SCROLLING=no>
</FRAMESET>
</html>

少なくともIE5.5なら、これででないYO!
200デフォルトの名無しさん:2001/08/06(月) 16:17
IEプラグインを作りたいんだけど
検索しまくっても
出てくるのはNetscapeのプラグインの
作成方法だけなんです。

なんか良いツール、もしくは
説明しているHPありませんか?
201デフォルトの名無しさん:2001/08/06(月) 16:24
>>199
どうもこちらのテストがミスっていました
確かに非表示になりました!ありがとうございます
202デフォルトの名無しさん:2001/08/06(月) 16:30
>>200
IEのプラグインってActiveX Controlのことかな?
203デフォルトの名無しさん:2001/08/08(水) 09:07
>>200
>27
204デフォルトの名無しさん:2001/08/08(水) 23:54
ちょっと話がそれるんですけど
複数のWINマシン(できればネットワーク上)の、IEの
お気に入り内容を同期、管理できるツールってご存知ないですか?
1方で何かを追加すれば、ほかにも反映させられる感じの
205デフォルトの名無しさん:2001/08/09(木) 12:31
>>204
レジストリの
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Favorites
に書いてあるフォルダ名を、各マシンの共有フォルダにする。
206デフォルトの名無しさん:2001/08/09(木) 13:23
>>205
プログラム的にやりたいのでそんなんじゃダメです。
もっと良い方法無い?
207デフォルトの名無しさん:2001/08/09(木) 14:11
プログラムでやればいいじゃん。
プログラムではレジストリをいじれないとでも思ってる?
208デフォルトの名無しさん:2001/08/09(木) 14:41
>>206
ハァ?
レジストリを書き換えるプログラム書けば?
自分でピア2ピアの同期クライアント/サーバーをどうしても書きたいならそう書けば?
209204:2001/08/09(木) 16:37
206は偽者です、
プログラミングではなく、定期的にfavoriteの内容を同期させる
ユーティリティをさがしているだけです
210デフォルトの名無しさん:2001/08/09(木) 16:50
フォルダの同期プログラムなんて、そこらじゅうに転がってないか?
211デフォルトの名無しさん:2001/08/09(木) 17:08
>>209
だから一つ共有フォルダを作って各端末でネットワークドライブに割り当てて
>>205のレジストリ値をそのフォルダ名にすれば同期するまでもないんだが。
212デフォルトの名無しさん:2001/08/10(金) 00:04
>>211

それってノート機の場合、外にでちゃうときとか都合悪くないですか?
その都度コピー必要ですよね?
213デフォルトの名無しさん:2001/08/10(金) 00:59
騙られるような質問をする方が悪いと思われ
214デフォルトの名無しさん:2001/08/14(火) 17:12
>>212
外に出ちゃうマシンのフォルダをマスターにすりゃいいじゃねえか馬鹿。
215デフォルトの名無しさん:2001/08/15(水) 04:32
>>214
ノート持ち出してる間他の端末どうする気だよ(藁
216デフォルトの名無しさん:2001/08/15(水) 05:07
他の端末使うのかよ?
使用者が1人だから同期する必要があるんじゃないのか?
217デフォルトの名無しさん:2001/08/16(木) 07:01
自分のアプリからIEを利用したいんですけど
EventSinkってどう実装すれば良いんでしょうか?
「新しいウィンドウを開く」のイベントを処理したいんですけど。

MSDN見ながら適当にやって、クライアント領域に
IEを貼り付けることは出来ました。
あと、MFCとかは使わないでC++でやってます。
このスレに既出のInsideOLEとかは本屋で探したけどありませんでした。
218デフォルトの名無しさん:2001/08/17(金) 02:59
>>216
元の質問でネットワーク上の複数のマシンで・・・とあるから、
複数人が使用だろ?(2台でも複数は複数だけどよ)
俺のイメージとしてはネットワーク上でお気に入りに入るような
有用なURLを共有するって感じかと思ったんだが。
それにノート持ち出すのが本人とは限らんし。
>>204はそこら辺明確にするためにもっかい出てきて。
219デフォルトの名無しさん:2001/08/21(火) 20:35
IEのプロキシとかセキュリティ設定をVBSでするために、
どのオブジェクトを取得しなければいけないのかわかりません。
わかる方教えていただきたいのですが。

あらかじめVBSとかで設定を作っておいて、ワンタッチで切り替え…
とかやりたいんですけど。
220デフォルトの名無しさん:2001/08/21(火) 21:56
>>219
そんなオブジェクトは無い
221デフォルトの名無しさん:2001/08/22(水) 03:44
age
222デフォルトの名無しさん:2001/08/22(水) 12:58
>219
コンポーネントを自作してVBScriptから呼び出せばいいだけのこと。
223デフォルトの名無しさん:2001/08/23(木) 19:54
WTLを使ってHTMLの表示は出来たのですが,
現在のターゲットリンクのURLを入手するにはどうすればいいのでしょうか?
IWebBrowser2は手に入れれるので移動は出来るのですが,
URLを入手してプログラムでリンクの移動をしたいです.
224デフォルトの名無しさん:2001/08/24(金) 13:50
DOMのコレクションを使えばいいんじゃないかな。
やったことないから間違ってたらごめんなさい。
225デフォルトの名無しさん:2001/08/25(土) 01:29
domと言うことはWFCと言うことでしょうか?^^;
ご教授ください.
226デフォルトの名無しさん:2001/08/25(土) 20:44
AddFavoriteを使い、お気に入りへ追加ダイアログを表示しています。
このダイアログはお気に入りフォルダをルートに表示されますが、
任意のフォルダをルートに表示する方法はないのでしょうか?
Bookshelfでは出来ているようなので、なんか方法があるとおもうのですが・・・。
227223:2001/08/26(日) 01:48
判りました.
ありがとうございました.
228デフォルトの名無しさん:01/09/07 21:04
age
229デフォルトの名無しさん:01/09/22 15:34
age
230デフォルトの名無しさん:01/09/24 21:01
hage
231デフォルトの名無しさん:01/09/28 03:35
VC++6.0およびMFCでカスタムブラウザを作成しています。
お約束のCHtmlViewです。

さて、Navigate2()発行後、OnDocumentComplete(lpszURL)
が呼び出されるわけですが、この後IWebBrowser2オブジェクト
をQueryInterfaceして要求したURLのステータスコードを
取得する方法はありませんでしょうか?
いわゆるレスポンスヘッダに含まれてくる
HTTP 200 OKとかHTTP 404とかのアレです。
他のオブジェクトはそろってるのに、なぜかこれだけ見当たりません。
ご存知の方よろしくお願いします。
232デフォルトの名無しさん:01/09/29 19:45
WebBrowserオブジェクトを埋め込んでブラウザ画面をコントロールする
プログラムを作っているのですが、gifアニメや、flash動画を
任意のタイミングでロック(静止)させておきたいのです。
何かよい方法はないでしょうか?
よろしくご教授ください

P.S.
こんなIEコンポーネントだけの専用スレあったのですね!
今後ともよろしくおねがいします
>>232
その質問自体ガイシツ。180くらいを読め。
234232:01/09/30 01:56
>>233
みてみました。ちょっと違うのです。
ページを表示し終えたタイミングを得るのではなく、
表示し終えたところで、そのWebページ自体(動画含む)を静止
させたいのです。
そのために、過去ログであったようなイメージとしての書き出しを
するのではなく、あくまでもWebBrowserオブジェクトに表示されている
Webページを静止させておきたいのです。
>>234
だから「できない」が結論になってると思うが。
236234:01/09/30 18:07
>>235
本当にそれが結論ですか?(その結論を出した人の技量じゃなくて)
Web画面への描画更新への呼び出しをしている部分をなんらかの
形で一時的に乗っ取りー>無効化 できそうな気はするのですが・・・
でも、わからないんですよね
237デフォルトの名無しさん:01/09/30 18:34
>>234
>>180 って誰かと思ったら漏れだった。だからしてなんか書いてみる。
OleDraw関連で任意の時点でのブラウザ画面を画像として得るのは無理と思われ
IHTMLWindow2にget/put_offscreenBufferingなるメソッドがあるので、一旦メモリに描画したのちスクリーンへ転送するような動作モードがある事が期待できる。
このバッファにアクセスできれば任意の時点でのブラウザ画面を取得できないかなと思うけど、動画なんかに関してはバッファリングしてるかどうかは疑問視してる。
ていうか正直、オフスクリーンバッファに関して何の検証もしてないので誰かやってくれ。
238180:01/09/30 18:52
>>237
気になったのでOleDrawを試してみた。
アニメーションGIFとかはその時々のフレームが描画されとるね。
RealPlayerとかはダメみたい。その部分だけ黒く抜ける。
オフスクリーンバッファをどうにかしたとしても望み薄だね。
239180:01/10/01 12:24
夜が明けて読み返したら、質問の答えになってないことに気付いた。鬱だ。
ブラウザ画面自体を静止させたいなら、中止ボタンでGIFアニメは止まる。
でもRealとかの動画やFlashは止まんないね。
Alt+Printscreenでは静止画像が取れるんでそっち方面で何とかするしかなさげ。
>>236
なんでできないかというと、FlashとかRealの制御にHtmlViewが関与してないから。
どうしてもやるなら、htmlを解析して「動いている可能性のあるオブジェクト」が
含まれているかどうか調べてそれらを列挙し、そのオブジェクトに見合った方法で
それぞれにフリーズさせるようなメッセージを投げてみる。とか。
やったことないしやるつもりもないので適当だけど。
241デフォルトの名無しさん:01/10/03 03:36
>>240

ム、ムズカシイ
そんなこと実現できるのか・・
>>241
オブジェクトの列挙をするのに辞書を使う必要があるので、
やっぱり現実的には「できない」が結論なんだよ。
243デフォルトの名無しさん:01/10/04 16:09
CInternetSession
のOpenURLでウェブページ(HTTP)にアクセスする際に、
URLが不正だったり、指定のURLのサービスが利用できない際に
それを知る方法はありますか?
インターネットそのものにアクセスできない場合は、例外をcatch
することでわかるようなのですが。
どうか教えてください
------------------------------------------------------------------------
244デフォルトの名無しさん:01/10/08 23:36
age
245デフォルトの名無しさん:01/10/26 16:10
で、BrowseContext はとりだせない?
246デフォルトの名無しさん:01/10/28 05:26
質問です、
FTPソフトと同じように、指定したURL上(HTTP)の
ディレクトリ&ファイル表示をしたいのですが、これらのディレクトリ
情報を取得する方法ってありますか?
教えてください
>>246
RFC読んで出直してこい。
248デフォルトの名無しさん:01/10/29 14:51
RFCってなんですか?
>247
正直、RFCも知らずにネットワークプログラミングをやろうという奴がいることに驚愕。
自分で調べろ
250デフォルトの名無しさん:01/10/30 16:18
IE 4.0のタイトルバーのアイコンを別ウインドウにドラッグ&ドロップするとURLが遷移しますが
これを制限かけることは可能でしょうか?
251デフォルトの名無しさん:01/10/31 12:28
Mozillaコントロールを動的生成するとエラーが出るんだけど、
どうしてだろう?
252デフォルトの名無しさん:01/10/31 13:02
>250
タイトルバーのアイコンをドラッグすることを制限するの?
ドロップされた側が遷移することを制限するの?
253デフォルトの名無しさん:01/10/31 13:08
VC++で自作したブラウザ上で右クリックを無効にし、
右クリックコンテキストメニューが出ないようにする
方法ありますか?
>>253
WM_CONTEXTMENU
255250:01/10/31 15:20
>252
タイトルバーのアイコンをドラッグすることを制限したいです。
ただこれができないようでしたらドロップされた側の制限でもよいです。
できれば前者が望ましいのですが・・・

OSはWinNT4.0 SP6aです。
256デフォルトの名無しさん:01/10/31 15:33
イベントをViewより先に捕まえて、消しちゃうってのは?
257デフォルトの名無しさん:01/10/31 15:47
>256
WH_GETMESSAGEでWM_NC(L/R)BUTTONDOWNあたりですか?
WM_CONTEXTMENUのほうが(捕まるなら)
アプリケーションキーやShift+F10なんかも
統一的に制限できて望ましいと思われ
259デフォルトの名無しさん:01/10/31 18:30
IEコンポーネントを使用するために実装する必要があるインターフェースは、
IOleContainer
IOleInPlaceFrame
IOleClientSite
以外にあるのでしょうか?
また、どれが必要などの情報はどこで入手するのでしょうか?
260デフォルトの名無しさん:01/10/31 23:05
IOleClientSite
IOleContainer
IOleInPlaceSite
IOleInPlaceFrame
をインプリメントして出来ました。

で、質問なのですが、
IOleContainer::GetWindowと
IOleInPlaceFrame::GetWindowは、

前者がMDI時のMIDChildに当たるウインドウで、
後者はFrameWindow。
SDI時には両方とも同じという理解で良いのでしょうか?
261デフォルトの名無しさん:01/11/01 16:14
>>150
同様に,CHtmlViewに表示される全画面のイメージを取得したいのですが,
どうしたらいいでしょうか?
262デフォルトの名無しさん:01/11/02 19:04
CHtmlViewでWM_CONTEXTMENUが捕まらない
263デフォルトの名無しさん:01/11/02 19:35
>>262
HTMLViewでコンテキストメニューを捕まえたいなら、
IDocHostUIHandler::ShowContextMenu()だね
264デフォルトの名無しさん:01/11/03 01:30
>>263
サンクス
>>264
COM必須だからがんばってね
266デフォルトの名無しさん:01/11/05 09:00
>249
RFC?
そんなの知らなくても大丈夫だyo!
MFC&WebBrowserコントロールで楽勝
267デフォルトの名無しさん:01/11/08 01:33
ドラッグ&ドロップを無視する方法ってないかな?
ドラッグソースとしてもドラッグターゲットとしても機能させたくないんだけど
>>267
何の話だよ?
IEの?
269267:01/11/08 05:10
IEコンポーネントです
IDocHostUIHandler::GetDropTarget()これじゃだめなん?
ドラッグソースになるのを制限する方法はわからない。

もしくは、
IDocHostUIHandler::EnableModelessあたり
271267:01/11/08 17:57
>>270 さん
GetDropTargetでできました 情報ありがとうございます。
(EnableModeless の方は何でしょうか?)

ドラッグソースの抑止を引き続き募集しております
もしご存じの方いらっしゃいましたら情報宜しくお願いします。
272デフォルトの名無しさん:01/11/09 02:12
>260さん
どうやってSDKで実装すればいいのでしょうか。
やり方載ってるページあったら紹介してくださいませんか。
273デフォルトの名無しさん:01/11/16 12:34
VBでブラウザを作っているのですが、IEのオブジェクト上での右クリックで出てくるメニューを
表示させたくありません。
どのようにすれば規制できるか試行錯誤していますがなかなか解決できていません。

もし、よろしければご指導お願いします。

よろしくお願いしますm(_ _)m
274デフォルトの名無しさん:01/11/19 04:43
カチュアゲ
275S:01/11/20 01:02
微妙に息の長いスレだな。
276デフォルトの名無しさん:01/11/20 11:34
273へご指導を。
>>276
何故過去レスを読みませんか?>>263
278デフォルトの名無しさん:01/11/20 14:55
>>277
VBで、ってのがミソだね。
>>263と同じようにやればいいんだけど、やり方はだいぶ違う。
279名無しさん:01/11/24 08:48
休日アゲ
280デフォルトの名無しさん:01/11/27 00:47
user-agentとか偽装したり、
Range: bytes=10- とかコンテンツを途中から取得したり
するためにHTTP requestヘッダをいじりたいんだけど
どうしたらいい?おしえて、おねがい!
281 :01/11/27 01:37
>280
Proxomitronが一番てっとり早い?カナ
282280:01/11/27 01:53
>281
サンクス。
でも、プロキシとか使わずに
IEがリクエストを生成するときにフックされる形で
プログラムがリクエストを生成することはできないかな?

ちなみに、当方Win32SDKでやっております。
でIWebBrowsers2へのポインタも取得はできてます。
わかる方がいらしたら、教えてくださいまし。
ヘッダを置換する wsock32.dll を作る
284280:01/11/27 02:10
>>283
それしかないっすか?
俺のスキルでは無理っぽいです。。。
ほかの手は無いのでしょうか?
ヘッダを置換する IE を作る
286280:01/11/27 02:39
却下!次のかた、どうぞ。
>>284
かちゅ用のwsock32.dllのソース公開されているから
参考にしてみたら?
・URLが入力されたら、自分でHTTP経由でとってきて、
変換などをし、WebBrowserオブジェクトに表示させる
(各種2chブラウザみたいな方向。当然、img src等も
必要なら自前で処理する)

つーか、283ができねーようなら、これ以下は無理だろーが。
・間にパケットをいじるようなルータを入れる(自作)
・debugAPI等で、DLLをダイナミックパッチする
なんかの方法もあるな。
HTTPでファイル取得する程度ならwininet.dllで充分だな。
あれはUser-Agent指定できるし。
>>280
APP
だな。
291280:01/11/28 00:55
答えてくれた皆さんありがとう。
ksockのソース見てちょっといじってみるよ。
292デフォルトの名無しさん:01/11/30 02:04
MFCでWebオブジェクトにあるWeb(test.htmとする)を表示して、
それに対してGetLocationName(またはURL)すると、当然test.htmが
取得できますが、ユーザー操作(リンククリック)によって
test.htmの中にあるリンクページ(link.htm)にジャンプしてから、
GetLocationNameすると、link.htmが得られそうなのに、
test.htmが戻ってきますね。

Webオブジェクトに現在表示されている最新のURLを取得する方法はありますか?
293デフォルトの名無しさん:01/12/01 13:43
IEのプラグインで
ウィンドウのリサイズイベントを取得する方法ってありますか?
DWebBrowserEvents2って
リサイズのイベント発行しないみたいなんですよね。
294デフォルトの名無しさん:01/12/03 16:58
ExecWBを使って、現在表示されているURLを取得する方法ありますか?
教えてください
295デフォルトの名無しさん:01/12/03 17:04
>>280
スタンダードに、
ローカルなプロキシを作るのがよい。
>>292
つか、donutのソースでも読んだら?
297294:01/12/03 23:39
>>296
見たのですが難解でした。どなたかヒントください!!!

かなり、沼にはまってます
>267
まず聞きたいのは、donutのアドレスバーは、
君の望む動作をしたのか、ってことだ?
#まさか、該当htmファイルがフレームとか‥‥
299267(本物):01/12/04 03:35
300297:01/12/04 04:59
>>298
す、するどい
フレームです。これが問題かも。
動作そのものは、GetLocationURLで問題なさそうですね。
となると、どう対処すればよいのやら・・・
301デフォルトの名無しさん:01/12/04 05:17
るby!
302298:01/12/04 05:27
>267 スマソ。間違い
>300
DWebBrowserEvent2::BeforeNavigate2あたりを捕まえるとか。
303デフォルトの名無しさん:01/12/04 14:54
メモリ上に存在するhtmlや画像のレンダリングを行いたいのですが、やったことある人いますか?
htmlのレンダリングはDOM使って地道に組み立てるなりinsertAdjacentHTMLするなりで何とかなりそうなのですが、
画像のレンダリングはちょっと検討つきません。imgエレメントの読み込みを捕まえても仕方ないですし。
304298:01/12/04 15:36
Pluggable Protocol Handlerを実装して、
<img src="memory://id48885251">とかやるとか。
Pluggable Protocol Handlerって面白い仕組みですね。今触っています。ありがとう!
続報です。Pluggable Protocol Handlerについて。
自分でプロトコルを実装するには
・レジストリに書き込んじゃう(OSグローバルなプロトコルになる。memory://....)
・IInternetSession::RegisterNameSpaceで一時的に登録する(アプリケーションローカル。プロトコルじゃなくてnamespaceが操作対象。http://memory/...とかやるのかな?)
という2つの方法があるっぽいです。
詳しくは下記URLで。
http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/pluggable/overview/appendix_a.asp
まだ全然コード書いていないので、詳しい検証はしていません。
「IInternetSession RegisterNameSpace」でGoogleして26件しか見つからん・・・
>>306
Pluggable Protocol Handlerを実装しちゃうと、
普通のホムーペからも呼び出せちゃうから、
セキュリティホールが空かないように気をつけてね。
308デフォルトの名無しさん:01/12/09 03:38
コンポーネントじゃないんですが
P板の人ならと思い。。。

>セキュリティゾーンって幾つかあるけど新しく作ることは出来ないの?
>信頼済みは全て許可にしてるけど、スクリプトだけ許可したゾーンを
>作りたいんだよね。

わかりますか?
309デフォルトの名無しさん:01/12/09 04:50
>>308
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\
レジストリでここに新しいゾーンを書き込んでみましたがダメでした。
ちょっと無理っぽいです。
>>309
それだとしたら、HKEY_CURRENT_USERの方じゃないか?
いや、試した訳じゃないけど。
311310:01/12/09 05:18
おっ、試してみたらうまく行ったよ。> HKCU
312デフォルトの名無しさん:01/12/17 19:17
IEコンポーネントで動いているJavaScriptから値をとりたいのですが
なにか良い方法ありませんか?
DHTMLで取ろうと思ったのですが、内容が変化した事を知る方法がわからないです・・・
313312:01/12/18 02:06
独りでなんとかできそうです

bye
314デフォルトの名無しさん:01/12/27 01:59
age
315デフォルトの名無しさん:01/12/27 23:16
右クリックをすると「対象をファイルに保存」とでますが、
これはどれのコンポーネントに実装されているのでしょうか?
また、なんてメソッドでしょうか?
316デフォルトの名無しさん:01/12/27 23:41
> 315
それ、IEじゃなくない?
317デフォルトの名無しさん:01/12/28 01:01
>>315
よくわからないけど、ぱっと見で、
SHDOCVW.DLLの
DoFileDownloadかDoFileDownloadEx関数で出来そうな感じがする・・・
318315:01/12/28 01:06
> 317
ど…どうやって調べるんですか?
DLLの中から関数を見つけるなんて…
>>318
このソフトで調べられるよ。
http://www.dependencywalker.com/
>>318
バイナリエディタで後ろの方を調べる、Win98の頃にあったクイックビューアを使うとか。
321デフォルトの名無しさん:01/12/28 01:23
>>315
GoogleでDoFileDownloadを検索したら、
英語のサンプルがたくさん出てきたよ。
VBで試してみたらうまくいきました。
322IUnknown:01/12/28 22:41
DoFileDownload は昔使ったことあったがDoFileDownloadExは
どうしてもパラメータがわからなかった。Undocumentedのようだし。。。

DoFileDownloadは呼び出しもとのプロセスが終了すると一緒に
終了してしまうが別プロセスで実行させるにはどうしたらいいんだろう?

今もこの2点はわからぬままなのである(未熟)。
> DoFileDownloadは呼び出しもとのプロセスが終了すると一緒に
> 終了してしまうが

IEのプロセスを終了するとダウンロードダイアログも終了するから
仕様だと思われ
324デフォルトの名無しさん:02/01/04 05:43
IEも氷魚作品。5.01以降は茶番だよ
DX7いこうは糞。もうやつに関わらせるなって。
あいつにきいてみろ、それらしいやつうろちょろしてるはずだよ
今頃。
325デフォルトの名無しさん:02/01/04 05:46
中身後悔してほしかったら、そのまえに
自分らでつくりなおせよってさ。

あいつのまねなんか普通誰もむりだって
とっとと奴につくらせろよなんか、決定的なのを
どうせいまごろばりえーしょん作りに夢中。
他人への教材のつもりらしいが他の奴らには
完成品にしかみえんだろうよ。たぶぶらうざ&
かちゅ全般。にちゃんはひおのてき製作。

・・・あいつの独壇場だよ。
正直やっとれんわ。
326デフォルトの名無しさん:02/01/04 05:50
氷魚がこの板やPC業界を底上げしているけど、
本当は目覚しい人類の進歩でなくて氷魚の遺作。
多分メモリ展開解答あぷりにも関わっている奴。
セグメントぶちぬいて、ばいなりいじるのもうやめろと
氷魚にいっとけ!!かなり頭に来た。
日本人ならともかく、あいつは米系列だろう?
俺と同じで。
327デフォルトの名無しさん:02/01/04 05:52
SiSにいまごろてーかしてるだろうから、
それらしいやつさがせ
128bitCPUに関わった奴だよ。
こんなの程度誰でも簡単とかぬかしてるやつだよ

あほ扱いされ過ぎて卑下しすぎ→電波、
328デフォルトの名無しさん:02/01/04 10:16
>>324-327 よっぱらい? あふぉ

IEのコンポーネントっていうとみんなインターネットがらみの話になっているけれど
別にWinInet使うぐらいでもいいわけだから
もうちょっとOLEコンテナとしてのIEについて考えない?

例えばACTIVE-X使うときタイプライブラリーとか使わなくても
いきなりADOとかSAPIとか使えちゃうよね、

あとVBやdelphiと比較してユーザーインターフェース部分
htmlで実装するならばWEBデザイナーが使えるはず
これって基本クラスとして実装したら結構あとらくだと思うんだけど
>>328
ここのデンパが迷い込んだだけ
脳内あぼーん推奨
http://pc.2ch.net/test/read.cgi/prog/999284410/
330328:02/01/04 19:11
>>329 なんだ。こいつは...ま いいか。

要はそこそこの性能で動いて、とりあえず法的に問題なくて
気が向いたら高速化できるスペックならいいんじゃない。

だからWININET まんせー
IEコンポーネント まんせー
ん? もしかして勘違いされた?
324-327はデムパだから脳内あぼーんしたほうがいいよという
つもりだったんだけど
332デフォルトの名無しさん:02/01/06 19:04
IEコンポーネントでは、HTMLのTITLE="NANTOKA"でツールチップが表示されるけど、
表示までの時間を変更するにはどうするんでしょう?
333デフォルトの名無しさん:02/01/11 22:59
WebBrowserコンポーネントで簡易ブラウザを作ろうとしているのですが
開いたページの大きさに合わせて、スクロールバーの出ないギリギリまで
縮めるようなことはできるのでしょうか。
つまり、そのギリギリのサイズをどうにか取得したいのですが。
環境はC++Builder4です。
334ねこま:02/01/11 23:17
document->body->Scroll(Width|Height)
335333:02/01/12 01:42
ありがとうございます〜。
まだちょっと動いてないですが、なんとか出来そうです。
336333:02/01/12 18:14
…やっぱり出来ませんでした。

IHTMLDocument2* doc;
WebBrowser1->Document->QueryInterface(IID_IHTMLDocument2, (void**)&doc);
IHTMLElement* body;
doc->get_body(&body);

でBODYエレメントまでは行くんですが、そこから先がどうすればいいのか解りません。
検索していろいろ試してみたのですが body->get_offsetHeight(&lHeight) というのだけ
動きましたがどうも違うようでした。
IHTMLElement2* で宣言できればScrollHeight等が得られそうなのですが、タイプライブラリを
取り込んでも未定義といわれてしまいました。

どなたかアドバイスお願いします。
337デフォルトの名無しさん:02/01/12 18:23
338333:02/01/12 20:23
ありがとうございます。
実はそのページも見て試行錯誤していたのですが、まだうまくいっていませんです。

MSHTML::IHTMLElement2* pIHTMLElement2;

としても 「MSHTMLは名前空間ではない」とコンパイルエラーになってしまいます。
using namespace MSHTML;
とすると、「Namespace name expected」とエラーになりました。
名前空間に関してはいまいち理解できていません。

IHTMLElementでなんとかできないものかとやっていましたが、どうも
get_offsetHeight,Widthしかないようでした。

mshtml.h を見ても IHTMLElement2自体定義されていないようにも見えるのですが
どうすればいいのでしょう…。PlatformSDKが古いのかもしれませんがサイトに
行ってもスクリプトのエラーでページが表示されずDLできないので困っています。

何か解決策をご存知の方、お願いします。
1.IE5.0以上をインストールしていない
2.タイプライブラリを取り込んだ後MSHTML_TLB.Hをインクルードしてない。
3.それ以外。なんつったり
340333:02/01/12 21:29
<MSHTML_TLB.H> インクルードしていませんでした。
タイプライブラリは取り込む(の処理)だけでいいと勘違いしていました。
本当にありがとうございます。

>337 のサイトに書いてあったのを参考にこうなりました。ほとんどパクリなのですが…。

long lHeight;
IDispatch* pDisp = WebBrowser1->Document;    // TWebBrowser *WebBrowser1;
IHTMLDocument2* pIHTMLDocument2;
pDisp->QueryInterface(IID_IHTMLDocument2, (void**)&pIHTMLDocument2);

IHTMLElement* pIHTMLElement;
pIHTMLDocument2->get_body(&pIHTMLElement);
IHTMLElement2* pIHTMLElement2;
pIHTMLElement->QueryInterface(IID_IHTMLDocument2, (void**)&pIHTMLElement2);
pIHTMLElement2->get_scrollWidth(&lHeight);

実はまだ動いていないので、もう少しだけお願いします。
このソースだと一番下のget_scrollWidthの行で読み込み違反が発生します。
同様の症状はDocumentを取得する際にまだそのサイトがロード中だった場合に
発生しましたが、今は一連の処理を READYSTATE_COMPLETE を待ってから
行っているので原因は違うようです。

何か心当たりがありましたら、宜しくお願いします。
341333:02/01/12 21:39
すみません、修正です。一番下の行はget_scrollHeightの間違いです。
342デフォルトの名無しさん:02/01/12 21:40
>QueryInterface(→IID_IHTMLDocument2, (void**)&pIHTMLElement2);
とか
>get_scrollWidth(→&lHeight);
は単なるtypoなのか?
343333:02/01/12 22:02
__uuidof はMicrosoft特有の仕様なのでBCBでは使えませんでした。
代わりに IID_IHTMLDocument2 にしました。
ttp://isweb23.infoseek.co.jp/computer/wds/html_designer_code.shtml
↑こちらとか参考にしてみたのですが、問題あるかもしれないです。

WidthとHeightは、Widthで書いていたところを>337に合わせるため
Heightに修正したのですがget_scrollWidthだけ忘れていました。
get_scrollHeight(&lHeight)です。
344IID_IHTMLElement2:02/01/12 22:26
でわ?
345333:02/01/12 22:41
全くその通りでした。指摘していただいたというのに、お恥ずかしい…。
おかげさまで無事サイズを合わせることができました。本当に感謝です。
346 :02/01/13 23:00
InternetOpenURLで以下のように複数行に渡るヘッダを追加することってできないの?
InternetOpenUrl(m_hInternetSession, URL,"A: a\r\n\tbbbb\r\n", strlen("A: a\r\n\tbbbb\r\n"), INTERNET_FLAG_RELOAD, (DWORD) this);
たしか、タブとかスペースが入ってたら複数行してもいいとHTTP1.1のRFCには書いてあった気がしたんですが、、、

僕の理解間違いかな?
それとも、wininetがサポートしてないだけ?
はたまた、やり方が違いますか?

お分かりになる方、助言をお願いします。
http://msdn.microsoft.com/workshop/networking/wininet/reference/functions/internetopenurl.asp
> lpszHeaders
> [in] Pointer to a string variable that contains the headers
> to be sent to the HTTP server. (For more information, see
> the description of the lpszHeaders parameter in the
> HttpSendRequest function.)

タブやスペースとはどこにも書いてませんが。
つーかどういうヘッダを追加したいのか不明。
348346:02/01/14 00:02
だれもmsdnとはいってませんが。
RFCだっちゅうねん。
以下rfc2068抜粋。

HTTP header fields, which include general-header (section 4.5),
request-header (section 5.3), response-header (section 6.2), and
entity-header (section 7.1) fields, follow the same generic format as
that given in Section 3.1 of RFC 822 [9]. Each header field consists
of a name followed by a colon (":") and the field value. Field names
are case-insensitive. The field value may be preceded by any amount
of LWS, though a single SP is preferred. Header fields can be
extended over multiple lines by preceding each extra line with at
least one SP or HT. Applications SHOULD follow "common form" when
generating HTTP constructs, since there might exist some
implementations that fail to accept anything beyond the common forms.
とりあえず、HTTP応答でもみて、レイヤの切り分けをせんかい。
350346:02/01/14 00:25
いや、
応答以前にセッションがNULLになってしまうんですよ。
単純にwininetがひとつのヘッダフィールドをtabで複数行連ねることを解釈できないのかな?
tabで複数行に分ける必要がどこにある?
継続行は実際には解釈しないクライアントが多いから1行で書けとどこかで見たぞ
352デフォルトの名無しさん:02/01/14 02:03
>>340
> IDispatch* pDisp = WebBrowser1->Document;    // TWebBrowser *WebBrowser1;

333さんに質問です。
このTWebBrowserってどうやって使ってるんでしょう?
私も似たようなことをやろうと思って自分のソースに組み込んでるんですが、「定義されていない識別子です」。

#import <mshtml.tlb>
#include <mshtml_tlb.h>
はとりあえずしてます。
353333:02/01/14 03:06
BCB4を使っていましたが、TWebBrowserは標準では登録されていませんでした。

[コンポーネント]→[ActiveXコントロールの取りこみ]で、「Microsoft Internet Controls」を
インストールすれば、コンポーネントパネルのActiveXタブにTWebBrowserが現れます。
あとは他のコンポーネント同様にフォームに貼りつけて使ってください。
354333:02/01/14 03:12
ところで、#import が使えるということはBCB5ですよね。
TCppWebBrowserって標準でついてませんか?
355デフォルトの名無しさん:02/01/15 17:13
お気に入りの表示回数とか最終表示日時って
どこに記録されてるんでしょうか?
356デフォルトの名無しさん:02/01/15 17:17
357デフォルトの名無しさん:02/01/17 08:04
Desk Band を作ったんですが、IE だけで使いたいので
Explorer のツールバーに出させないようにするには
どうしたらよいのでしょう?
358便乗:02/01/17 08:17
Desk Band で「クイック起動」みたいに1つだけしか作れないようにするには
どうしたらよいのでしょう?

タスクバー右クリック→[ツールバー(T)|クイック起動]
359デフォルトの名無しさん:02/01/17 08:47
クリエイトプロセスでIEを起動して指定サイトを開くソースキボン。
>>357
レジストリで
noexplorer=1
普通ShellExecuteで標準のブラウザを開くと思うが・・・
まあいいや。
STARTUPINFO si;
PROCESS_INFORMATION pi;
memset(&si, 0, sizeof si);
si.cb = sizeof si;
CreateProcess("C:\Program Files\Internet Explorer\Iexplore.exe",
"iexplore http://www.2ch.net/",
NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
>>358
///////////////////////////////////////////////////////////////////////////
//
// IPersistStream implementations
//
// This is only supported to allow the desk band to be dropped on the
// desktop and to prevent multiple instances of the desk band from showing
// up in the shortcut menu. This desk band doesn't actually persist any data.
//

STDMETHODIMP CDeskBand::GetClassID(LPCLSID pClassID)
{
*pClassID = CLSID_SampleDeskBand;

return S_OK;
}

STDMETHODIMP CDeskBand::IsDirty(void)
{
return S_FALSE;
}

STDMETHODIMP CDeskBand::Load(LPSTREAM pStream)
{
return S_OK;
}

STDMETHODIMP CDeskBand::Save(LPSTREAM pStream, BOOL fClearDirty)
{
return S_OK;
}

STDMETHODIMP CDeskBand::GetSizeMax(ULARGE_INTEGER *pul)
{
return E_NOTIMPL;
}
363357:02/01/18 10:51
>>360
>>レジストリで
>>noexplorer=1
教えてもらってありがたいんですけど、
どこのキーに入れたらいいのか、全然わかりません...
364358:02/01/18 15:50
>>362
ありがとうございます
やってみます
365デフォルトの名無しさん:02/01/23 02:54
JAVAスクリプトを実行するしないとかの切り替えはどうやってやればいいんでしょ
PutPropertyを使えばいいんだとは思いますが突っ込むプロパティの値がわからんのです

Donutのソース読んだらATL使ってたので分からなければあれで書きます
366山本:02/01/23 17:07
2?6
>>365
レジストリに載ってる数字
368デフォルトの名無しさん:02/01/23 19:58
はじめまして

http://mbs.jp/maji/
ここのHPにある投票フォームをソースで表示してどこかイジって
クリックするとある選択肢に投票されるプログラムを作りたいんですがわかりません。
私は全くそういう知識がなく、この板にくるのも初めてです。
どうかアドバイスお願いします。
369デフォルトの名無しさん:02/01/23 23:22
DelphiでTWebBrowserコンポーネントを使っているんですが、
ブラウザ画面にデータを小分けにして追加する方法はありませんか?
ダウンロードしつつあるデータを変換しながら表示したいんです。
一括で指定する方法ならmonazilla.org(wにサンプルがあったんですが。
>>369
出来るよ。
最初にopenして細切れにwriteすればいいだけ。
で、少しずつ見えるようにするには、writeの後にApplication.ProcessMessageを
すればいいはずなんだけど、大きいHTMLの場合、うまくいかない
場合があるんだよなぁ。(writeの結果が反映されない部分がある)

371369:02/01/24 01:26
>>370
openしてwriteってことは、IHTMLDocument2ですか?
PSafeArrayでBYTEのSafeArrayを作ってうんぬんですか?
372デフォルトの名無しさん:02/01/24 01:44
>>367
これほんと?
例えば画像を読み込まない設定はどんな値を入れればいいの?
>>371
>openしてwriteってことは、IHTMLDocument2ですか?
こっち
374デフォルトの名無しさん:02/01/24 03:30
>>373
隊長!
IHTMLDocument2 and write and PSafeArrayで検索したところ、
ロシアのサイトで詳しいやり方を発見しました!
ttp://www.gks.wsnet.ru/Jurnalz/CP/092001/2001_06_tweb/

なんかどこかで見たことのある文字がいっぱいだ(藁

>374
ロシアん・・・侮りがたし・・・・
376デフォルトの名無しさん:02/01/24 23:03
C++Builder4でTWebBrowserを使っています。

IHTMLDocumentでwriteしたページのサイズをscrollheightとscrollwidthで取得し
リサイズしているのですが、writeした直後にサイズを取得するとまだ不完全な
ページのサイズが返ってきてしまいます。
write後の描画が完了したことを知るにはどうすればよいのでしょうか?
DocumentCompleteじゃないようだし…。
377ねこま:02/01/25 00:59
え? DocumentComplete じゃないの?
378376:02/01/25 01:30
writeの後にDocumentCompleteが発生しないんです。
なにか間違ってるのかなぁ…。
379ねこま:02/01/25 01:45
多分これ
READYSTATE_COMPLETE
ttp://plaza21.mbn.or.jp/~takoyakusi/delphi/Event.html

write の直後に ReadyState が READYSTATE_COMPLETE になるまで待機すればいいかも
試してないけど
380ねこま:02/01/25 01:50
あー全然外してるかも
381376:02/01/25 02:47
ありがとうございます。
実は以前も試してみたのですが、何故か描画終了前に(READYSTATE_INTERACTIVEと
同じタイミング?)COMPLETEが返ってきてしまい、巧くいきませんでした。
方法としては合っているような気がするのですけど…。
>>379
この人のサイト、いろいろ情報があって役に立つよね。
でも、デザインセンスが。。
383デフォルトの名無しさん:02/02/02 21:06
Windows Script Component で type=Behavior にして
IE5.5 で <object> としてロードしたんだけど
<layout> で記述した html が表示されません
これは正しい動作なんでしょうか?
384デフォルトの名無しさん:02/02/09 02:43
Webブラウザコントロールから、HTML DOMを弄ろうと考えました。
//Navigate("about:blank")のDocumentComplete。
void OnDocumentComplete( CWebBrowser2&br, const CString &url){
CComPtr<IHTMLDocument2> doc;
CComPtr<IHTMLElement> body;
CComPtr< IHTMLDOMNode > body_node;
...(略)...
CComPtr<IHTMLElement> p;
doc->createElement(L"p", &p);

CComPtr< IHTMLDOMNode > p_node; p.QueryInterface( &p_node );

CComPtr<IHTMLDocument3> doc3; doc.QueryInterface(&doc3);

CComBSTR dtstr( L"TestString");
CComPtr<IHTMLDOMNode> text; doc3->createTextNode(dtstr, &text);

//body_node->appendChild( text, NULL );
body_node->appendChild( p_node, NULL );
p_node->appendChild( text ,NULL );
}
最後のp_node->appendChildで、E_UNEXPECTEDが帰ってくる
のですが、なぜでしょうか?
コメントアウトされているbody_node->appendの方はS_OKでした。
環境は、VC++SP5, IE5.01, ATLです。
385デフォルトの名無しさん:02/02/13 06:02
age
保守じゃ
387test:02/02/20 07:42
sample
388test:02/02/20 08:22
sample
389Yahoo Man:02/02/20 09:16
大変だーー。
390そうですか・・:02/02/20 09:33
もうダメボ
391デフォルトの名無しさん:02/02/24 18:21
Delphi 6 Personal、IE 6、Windows 2000で
IEコンポーネントを利用しているんですが、
アンカーやフォームでエンターを押してもリンクが開きません。
今のところ、キーボードメッセージをフックして
IHTMLDocument2.activeElementで取得したエレメントに対して
Clickをしてごまかしているんですが、これだと
<INPUT TYPE="TEXT">とか<INPUT TYPE="PASSWORD">でうまくいかない。
しかも、なぜかIHTMLInputElementやIHTMLInputTextElementにも
QueryInterfaceができないんです。
これの解決方法を教えていただけませんでしょうか。
392デフォルトの名無しさん:02/03/16 13:43
age!!
393デフォルトの名無しさん:02/03/16 14:20
結局さあ、COMであってもあんな使いずらかったら
何もできんのと同じだよなあ
394デフォルトの名無しさん:02/03/17 20:00
使い方次第。
395ちょい教えて:02/03/19 17:47
ActiveX解除ツールに関して


Outlook Express 5.5 (Internet Explorer 5.5) 以前では [インターネット ゾーン]
であったのに、Outlook Express 6 (Internet Explorer 6) でははなく [制限付きサ
イト ゾーン]がデフォルトとなった

ストレスを解消する為に、Outlook Express 6 の初期設定のままでも「Active
X」を動作可能にするソフトやプログラムってありますか?また開発は難しい?

メールを送信した間だけでも「Active X」の制御が解除されるようになれば
ベストなんだけど。

>>395
ウイルス作者の方ですか?
397ちょい教えて:02/03/19 20:34
ウィルス作者ではありません。ウィルス作者さんを探しているくらいです。
まぁ半分冗談ですけど、レベルの高い人との出会いも探しています。
俺はoutLookを使ってメールを送信したいんですけどIEによってこんなに
違うとは思わなかった。
どうしたらいいんでしょう5.5だと見れて6になるとエラーが出ちゃうんです。
398デフォルトの名無しさん:02/03/19 20:45
IEの話じゃないけど、タンにOLE2/COMでメールを自動送信したい場合って、
なにかある?OutlookExpressはサーバにならんのだよね。ダサすぎ。
>>397
レベルの高い人はウィルスを送りつけてやろうなんてアホなことは考えません。
400デフォルトの名無しさん:02/03/26 22:41
かちゅ〜しゃで レス番号を左クリックするとメニューがでますよね
あれってプログラム的にどうやってるんですか?
>400
今Delphiねーからわかんねーや。
ゾヌも同じようなことやってるから、ソース見てみれば?
>>400
ソースには<a href="menu:1">1</a>とか記述しておいて、BeforeNavigate2イベント
を取ってるだけじゃないかと。
で、WebBrowserコントロールには「ナビゲートのキャンセル」を伝えておいて自前で
ポップアップメニュー表示。
403デフォルトの名無しさん:02/03/27 14:19
DelphiでTWebBrowserを使ってブラウザ作ってます。
OnNavigeteComplete2でTargetFrameNameを知りたいのですが
どうすれば出来ますか?
>>403
NavigateComplete2イベントではターゲットフレームは通知されません。
代わりにBeforeNavigate2を使うべし。
405デフォルトの名無しさん:02/03/27 17:45
HTMLファイルを読む→gif表示部分を削除したHTMLファイルを作成→IEコンポに読ませる。
ってソフトでもやっぱUNISYS怒る?
怒らないんじゃない?
板違いっぽいのでsage
407403:02/03/27 19:31
http://members.tripod.co.jp/buppii/SampleBrowser1.zip
↑こんな感じ(ソースのみ)で戻ると進むの履歴を考えているので
やっぱり、なんとかOnNavigateComplete2でTargetFrameNameを知りたいのですが、
難しいですか?
初心者なんでツッコミどころ満載&見づらいソースだと思いますが、
どなたか見て意見をくれると有り難いです。
408404:02/03/27 19:42
>>407
履歴とNavigateComplete2の関係がよくわかりません。
教えてプリーズ。
409405:02/03/27 20:21
>406
 げ、板違いなのか。話題に出てたからいいと思ったのに・・。
ごめんなさい。

 ところで、IEコンポ自体にはGIFを読み込む機能は付いてないんですか?
IEを利用する上でGIF表示機能が付くんですか?って、これも板違いかな。わからんなった。
410405:02/03/27 20:45
わあ、だめだ。ドラッグ&ドロップに対応しちゃってる。これじゃUNISYSに怒られる。
解除の仕方が分からん。
411403:02/03/27 21:08
407のソースで、
SL1にTargetFrameNameを仮保管
SL2はフレームのあるページのTargetFrameNameのリスト
SL3はTargetFrameName
SL4は読み込んだURL
SL5はLocationURL(フレーム内のページを読み込んだ時にSL4のURL <> LocationURLなのでSL4とは別に格納しておく)
SL6はLocationName
SL7はフレームのあるページを読み込んだときに
最初にそれぞれのフレーム内に読み込まれるページのURLのリスト

で、全てを同時にリストに加えれば、
例えばSL3.Strings[3]はSL4.Strings[3]のTargetFrameNameとなり期待通りに動くのですが、
OnBeforeNavigateとOnNavigateCompleteの起こる回数が合わなかったり(何故かOnNavigateCompleteが多く起こる時がある)、
OnBeforeNavigateとOnNavigateCompleteの起こる順序が違う(重いページ→軽いページの順序で立て続けに読み込んだ時)とかの理由で違う順序で格納されてしまい、
期待通りの動きをしない事があるので、
同時にそれら全てを知りたいのです。
ちなみに407のソースはまだ完全じゃないので、
この問題が解決されてもまだちゃんと動かない状況があります。

>>408
OnNavigateCompleteの時にSL2〜SL7の履歴のリストに、新たに読み込まれたページの履歴を加えたいのです。(OnBeforeNavigateだとLocationNameが分からない)
で、それと同時にWebBrowser1.Tagに今表示しているページがSL4の中の何行目かを格納しておいて、
[戻る]、[進む]を押したときに、例えば4つ戻るならSL4.Strings[WebBrowser1.Tag -4]に格納されているURLを、SL3.Strings[WebBrowser1.Tag -4]に格納されているTargetFrameNameに読み込むようにしたいのです。

うぅ、長い上に分かりづらいっぽい…
412404:02/03/27 22:26
>>411
> うぅ、長い上に分かりづらいっぽい…

うん。ぜんぜん分かりません。
が、「フレーム内での遷移をタイトルつきで履歴に格納したい」のだと勝手に解釈して
みる。
BeforeNavigate2でURLとフレームターゲットを記録しておいて、NavigateComplete2
かDocumentComplete2でURLに対応するタイトルをセットすればいいんじゃない?
413404:02/03/28 00:19
>>412
×DocumentComplete2
○DocumentCompleted
414デフォルトの名無しさん:02/03/28 10:32
>>402
ということはJavaScriptでlocation.hrefとかを使って
メニューのある項目を児童選択 とかはできなさそうですね。

hrefにmenu:1とか放り込めばメニューが出るとこまでは確認したんだけど
その先は無理か・・・
>>414
それって、スキン側でブラウザを操作しようとしてる?
かちゅ〜しゃってスキン使えたっけ。
>>415
スキンつかえますよ。かなり自由度あります。
およそHTMLで表現できるものはひととおりOKです。
417デフォルトの名無しさん:02/03/29 03:08
>>402
リンクの上にマウスカーソルを合わせると、バルーン?が出るのは
どうやるのでしょうか?

っていうか、クリーム色のウインドウみたいなやつってバルーンと
いう名前でいいのかな?
>>417
Windowsでは「ツールチップ」「ツールヒント」という名称のほうが一般的かと。
表示方法は以下を参照。
http://msdn.microsoft.com/library/?url=/library/en-us/shellcc/platform/commctls/tooltip/reflist.asp?frame=true
開発環境によっては、簡単に使えるためのライブラリ/コンポーネントがあります。
MFC(VC++)ならCToolTipCtrlとか、DelphiならTHintWindowとか。
VBだと…ToolTipTextプロパティを動的に変更、かな?(よくしらない)

表示タイミングについては、「マウスポインタがリンクの上に乗った」ことを何らかの
手段で取得することになるでしょう。
詳細はMSDN Libraryで。
419403:02/03/29 16:05
>>412
>「フレーム内での遷移をタイトルつきで履歴に格納したい」

うん、そうです。たぶん。
でも、むずかしいです。
なかなかIEと同様のモノが作れないです。
もっと色々詳しくなってからじゃないと無理かなぁ…
どっかに良いサンプル無いだろか…
420デフォルトの名無しさん:02/04/01 05:31
CHTMLViewを使ってます。
現在表示されているHTMLをクリアして新しい文字列を表示させるには
どうすればよいのでしょうか?
文字列を表示させるのはinnerHTMLでできそうですが、
その前にページをクリアする方法がわかりません。
たんなるおもいつき
Navigate("about:blank");
innerHTMLに""をputしたらダメなん?
423デフォルトの名無しさん:02/04/01 08:34
Getbody()->PutinnerHTML()で、表示する内容を置き換えることは
できたのですが、この場合body内しか変更できません。
head内も含めて丸ごと変更するにはどうすればよいのでしょうか?
get_html()
メンテ
スクロールバーをフラットスタイルで表示するにはどうすればよいですか?
>>426
スタイルシートつかえば?
>>427
(;´д⊂  イジワルシナイデオシエテヨ
>>428
http://tohoho.wakusei.ne.jp/www.htm
おれはここのを参考にしたけど
>>426,428
IE5.5以降ではリソース節約&高速化のために、内部の描画をすべて独自に行って
います(以前はフレーム分割では複数のウィンドウが生成されていたが、今は1つの
ウィンドウで同等の処理が行われる)。
スクロールバーなども標準のコントロールを使わず、IEの独自描画です。

ということで、>>427に1票。
431428:02/04/13 18:26
>>427-430
そっかー、どうもありがとう(@´ー`@)
432デフォルトの名無しさん:02/04/20 23:41
SSL通信しているときのサーバ証明書を取得したいんですが、
わかりませんか?右下のアイコンをクリックすれば見れるんで
取れると思うんですが。
>>420
レジストリをabout:blankで検索するとIEの設定に
C:\WINNT\System32\blank.htm
ってあるけど動的に作っているのか実際には見つからない。

わからないので空のHTMLファイルを表示してお茶を濁してるけど、
これだと普通のページを表示するのと同じだからイベントの処理が必要に
なって面倒だね。

誰かいい方法を教えて。
434デフォルトの名無しさん:02/04/21 15:10
CHtmlViewで「ダイアルアップの接続」を出す方法と
「戻る」「進む」が有効かどうか調べる方法を教えてください。
「ダイアルアップの接続」はオンラインの状態でネットにアクセスすると自動的に出ますが
接続をキャンセルすると(オフライン状態にすると)以降は出てくれません。
IEだと「オフライン作業」を解除してオンラインにして他のページを表示したり更新すれば
「ダイアルアップの接続」が出ますが CHtmlView だと出ません。
オフラインの切り替えは SetOffline で行っているんですが間違っていますか?
さげ
437デフォルトの名無しさん:02/05/17 09:45
COMスレから紹介されてやってまいりました。どうか力をお貸しくだせえ。

[やりたいこと]
1. MFCアプリでHTMLファイルからHTMLドキュメントオブジェクトを作成。
2. そのオブジェクトにDOMのメソッドで変更を加える。
3. 変更結果をファイルに保存。

で,いくつか方法を試してみたのですがなかなかうまくいきません。

A. HTMLエレメントからIHTMLElement::GetouterHTML()で文字列を取り出して
CFileを使ってがりがり書く。
→モトのHTMLファイルのエンコーディング方法に合わせてエンコードしなくては
いけないので気が遠くなりそう。

B. HTMLドキュメントからIPersistFileを取得してSaveメソッドで保存。
→なぜか変更前の状態で保存される。

C. それならばともうひとつHTMLドキュメントをCoCreateInstanceして
モトからinnerText()で取得した文字列をwrite()で書きこむ。
→書き込み中にスクリプトエラー。onloadでしかスクリプトは呼ばれないはずなのに…。

D. じゃあこれでどうだとwrite()ではなくinsertAdjacentHTML()で
ドキュメントを複製してIPersistFile::Save()。
→insertAdjacentHTML()を呼ぶ前の状態で保存される。

E. ためしにIHTMLDocument2::execCommand( "SaveAs" )で保存。
→MSHTML.DLLからアクセスバイオレーションが飛んでくる。
ブラウザウィンドウが存在しないから?

というわけで万策尽き果てた気分です。どーにかならんでしょうか。
「こういうメソッドはどうよ?」くらいでもいいのでアドバイスもらえると嬉しいっす。
A. HTMLエレメントからIHTMLElement::GetouterHTML()で文字列を取り出して
CFileを使ってがりがり書く。
→モトのHTMLファイルのエンコーディング方法に合わせてエンコードしなくては
いけないので気が遠くなりそう。
---
そんなにむつかしい/面倒くさいことか?

439437:02/05/18 09:11
>>438 日本語以外のエンコーディングも使われる可能性大なんでちとヘビーかなと。
いざとなったら「何語だろうとUnicodeでしか出力しない!」つって逃げますけど…ちょっとカッコワルイ。
>>437
DISPID_AMBIENT_USERMODEでデザインモードに切り替えないと
保存できないような気がするYO;
441437:02/05/23 08:56
>>440 サンクス。WebBrowserはhostしてないもんでEdit云々の発想はなかったな。
とりあえずやってみよう。
442437:02/05/23 10:45
ファイル読み込み前にIHTMLDocument2::put_designMode("On")したらでけました。
440 は神!
しかしちゃんとHTMLドキュメントにアプリをAdviseしたのにIAdviseSink::OnSave()もOnRname()も呼ばれない。
呼ばれないのにIPersistFile::Save()はナニゴトもなく終わっている。
…いいのか?
443デフォルトの名無しさん:02/06/02 11:21
OnBeforeNavigate2がアドレス入力から来たかそうでないかを
判定する方法はありますでしょうか?
444デフォルトの名無しさん:02/06/02 13:57
>>443
レジストリのアドレス入力の履歴を調べればいい。と思う。
445443:02/06/02 19:38
ありがとう。
やってみます。
446デフォルトの名無しさん:02/06/03 11:11
Document.body.innerHTML
で表示中のHTMLを取得して、
Document.write
で出力というのを繰り返すと、
どんどんHTMLが崩れていくんですが何故でしょうか。
なんかヘッダの中のスタイルシートが消滅したり、へんな位置で改行が入ったり。
>>446
innerだからというオチじゃないよね。
>>446
もしかして、sleepとか入れながら、ループでガシガシ追加していますか?
前に、ファイルから少しずつwriteしていったら似たようなことになったことがある。
解決方法は。。。知らない。諦めたから(w
>>446,448
試してないが、
ReadyStateがREADYSTATE_COMPLETEになる前に
Document.writeするとダメとかかも。
450デフォルトの名無しさん:02/06/09 13:46
IEコンポ上で右クリックしたときに表示されるポップアップメニューの表示を抑制する方法ってありますか?
IDocHostUIHandler::ShowContextMenu
452デフォルトの名無しさん:02/06/13 23:19
BHOからコンテナであるIEのアンビエントプロパティを
変更することは可能でしょうか?
BHOは良く知らないけど、IWebBrowser2を持ってれば
可能だと思う。
454452:02/06/14 02:25
>>453
IWebBrowser2 は取れてますので
色々やってみます。
455名無しサンプリング@48kHz:02/06/14 12:52
_blank
で新規ウインドウを生成しないようにしたいんですが
どうしたら良いでしょう…(同一ページでリンク先に飛ばせたい)
ちなみに、BCBのTCppWebBrowserコンポーネントです。
ご存知の方がいましたらば情報キボンです!
ttps://sourceforge.jp/projects/foolsnote/

こんな事やっているやつを発見し、俺と同じくBCB使ってるというから
ソースをダウソしてみたら、BCB6でつくってやんの・・・・・
おれみたいなDQNじゃ、ステップ実行しないとわかないよぉ。

BCB5以下で書かれた、参考になるようなソースどっかにないっすか?
457デフォルトの名無しさん:02/06/15 14:34
>>455
VC++なので、BCBでどうなるかは知らないが、
OnNewWindow2で、新ウィンドウの作成をキャンセルした後、Navigate2する。

か、OnNewWindow2で、IDispatch** argな引数の*argに、thisのIDispatch*を
入れて新ウィンドウの作成はキャンセルする。
458デフォルトの名無しさん:02/06/15 18:32
>>455
BCB だと、OnNewWindow2 で、Cancel はせずに
*ppDisp = CppWebBrowser1->Application;
でいけるはず。
459445:02/06/15 21:18
>>457-458
レス有難うございます!
で、新規ウインドウの抑止は出来たんですが
canselだと飛び先のURLが取得できません。
*ppDisp = CppWebBrowser1->Application;
では現在の窓でリンク先を表示してくれません…。
>>458さんは飛べてますか?
460458:02/06/16 20:24
>>459
あれー?うちでは飛べるんだけど。BCB 5 と 6 でテスト。
461名無しサンプリング@48kHz:02/06/18 00:11
>>460
BCB5なんですがダメなんですよ…
なんでだ〜
明日BCB6で試してみます!サンクスこ!
462デフォルトの名無しさん :02/06/19 11:52
Delphi6 & IE 5.5SP2 ですがやはり ppDisp に自分自身を指定すると
だめです。別のWebBrowserを指定すれば飛ぶんですが。

IEのバージョンは関係するのかな。
463458:02/06/19 17:48
>>462 IEのバージョンは関係するのかな。
あ、それかもです。うちは IE5.01。
5.0と5.5はカナーリ違うという罠。
IEコンポーネントを使わなくても良いかもしれませんが,
IEのプロクシ設定を取得する方法ってありませんか?
>>465
レジストリの
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
467デフォルトの名無しさん:02/07/01 12:14
>>466
サンクスコ
468465:02/07/03 00:26
さんきうう
469デフォルトの名無しさん:02/07/08 11:08
CComPtr< IOleObject > obj;
obj.CoCreateInstance( L"Shell.Explorer" );
CComQIPtr< IOleClientSite > csite = &implements;
obj->SetClientSite( csite );
obj->QueryInterface( IID_IOleInPlaceObject, (void**)&ipo );
result = obj->DoVerb(OLEIVERB_INPLACEACTIVATE, NULL, csite, 0, g_hwnd, NULL);

CComQIPtr< IWebBrowser2 > ie = obj;
CComBSTR url = "about:blank";
ie->Navigate( url, NULL, NULL, NULL, NULL );

CComPtr< IDispatch > pDisp;
ie->get_Document( &pDisp );
CComQIPtr< IHTMLDocument2 > document = pDisp;
if ( document ) {
 CComVariant color( "#000000" );
 document->put_bgColor( color );
 CComPtr< IHTMLElement > body;
 if ( SUCCEEDED (document->get_body( &body ))) {
  assert( body ); ※
 }
}

上のソースで、どうしても※のところでassertに引っかかるんですが、どうしてなんでしょうか?
戻り値はSUCCEEDEDが返ってきているので、正常なはずなのに、どうしてもbodyが取れません。
assert( &body);
というオチ?
get_bodyとかはSUCCEEDナのにもかかわらずNULLを返すことがある。

この場合はレンダリングが終わってないか、bodyなんて存在しない
からだと推測。
>>471
うぃす、どもです。
Navigate直後だから終わってない&about:blankでドキュメントが存在しないって事ですかね。
DocumentCompleteでやれば出来そうですね。
>>472
てことは、470が指摘したのは469のタイプミスだったのか?
まあ、Navigate直後にDocument取得は正気の沙汰じゃないが。
お気に入りの順番を保存してる
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Favorites
の構造って既に調べた方います?

ちーともわからなかった。
つか、donutのソース嫁よ……
mtlweb.hあたりにあるから。
476474:02/07/09 21:35
ありがとうです。
早速ソースを googleに助けてもらって見てみました。

typedef struct _tagCFavoritesOrderData
{
DWORD size;
DWORD priority;
ITEMIDLIST idl; // relative idlist
} _CFavoritesOrderData;
MtlWeb.hから抜き出してみると上の構造体に
順番に流し込んでるように思えたんですが

{サイズ(4バイト)→順番(4バイト)→データ}→{サイズ(4バイト)→順番(4バイト)→データ}.....
--------------+-------------------|
                  サイズ

と言う構造と言うことでよろしいんでしょうか?

さらに、この「ITEMLIST」はどういう型なんでしょうか?


C++は勘でしか読めないC#厨なんでごめん
ShellNamespaceで検索しろ。
簡単に言うと、 c:\app\dirだと
c: app dir それぞれの要素に分かれて、リスト状に繋がれた物。
478デフォルトの名無しさん:02/07/23 16:12

フレームの中のcontentWindowにアクセスできる場合とできない場合があるのは
なぜでしょう? バグがあって、document.all からアクセスしないといけないのは
解ったのですが、それでもアクセスできないページがあります。

ところで、モジラのDOMのDLLってあるんでしょうか?
>>478
追加です、今はDelphiやVBから触っています。
こんな試行錯誤をVCでやってると氏にますね…
>>479
さらに追加。 >>129さんと同じ問題のようです。
どうも未解決っぽいですね。

フレーム間の参照は、セキュリティの関係で
クロススクリプティングを行わせないために
制約がかかっているような気配です。
例外的にドメイン名直下のファイルはやれるようですが、
これが関係しているのかもしれません。

DHTMEditコントロールなども触ってみましたが、
フレームページではエラーが出るようです。

他にWindowsで動くDOMがあったら教えてください。
>>480
Cross-Frame Navigate でぐぐるといろいろ出てきますな。
確か、MSのページにはっきり制限事項として書かれていたのを
読んだ覚えがあるけど、大分前なのでソースを忘れてしまいますた。

抜け道がないわけではないようだけど、セキュリティ上での制限
つってるくらいだからここに書くのはまずかろうな…
>481

モジラのDOMいれて触ってみました。
VBでオブジェクトをインスペクトして(オブジェクトインスペクタじゃなくて、実行中になかを見て)みたのですが、どうもエラーが出てIEのDOMの用には追えませんでした。
またIDispatchによるアクセスもエラーでした。(オマケでDOMインスペクタなんてものがついてるのだから、DLLを直接触ればやれるのだと思うけど、そっちはまだやってません)
Operaや、NetFrontなんかもDOMにアクセスするインターフェースは用意されてるのかな?
よかったら教えてください。駄目なら、おそらくモジラのLibを直接触るのが早そうです。
delphiでIEベースのブラウザを作っているのですが、User Agentの変更をしようと思っています。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settingsをい
じればよいことは分かったのですが、mshtml.dllの再読込が必要らしく、その方法が分かりませ
ん。どなたかご存じでないでしょうか?
484デフォルトの名無しさん:02/07/28 12:16
>>478-482
mozilla関連はこっちでやるべし。
ttp://pc3.2ch.net/test/read.cgi/tech/1023546699/l50
>>484
これ、趣旨が違います。
開発の方針も決まったようですが、あまり深い部分は触らないようです。
486デフォルトの名無しさん:02/08/10 14:34
IEのコンテキストメニューから今見てるページをネスケで起動することってできますか?
487デフォルトの名無しさん:02/08/10 16:13
結局、mhtファイルとして保存する手段は無いのでしょうか?
ライブラリはOutlookのものを使用するらしいのですが。
 
489デフォルトの名無しさん:02/09/11 11:00
.NETでwebbrowserコンポーネントを使っているんですが、mshtmlのイベントの
挙動が変で困ってます。

たとえば
どっかのページにNavigateしてからDocumentCompleteイベントで
IHtmlDocument2 document = (IHtmlDocument2)webbrowser.Document;
foreach(HTMLAnchorElement link in document.links)
{
link.HTMLAnchorEvents2_Event_onclick +=
new mshtml.HTMLAnchorEvents2_onclickEventHandler(OnLinkClick);
}
とし、

private bool OnLinkClick(IHTMLEventObj obj)
{
obj.cancel = true;
DoSomething();
return false;
}
で、リンクのクリックイベントを捕まえて何らかの処理をさせたいんですが、
たまにイベントハンドラが実行されないことがあります。(リンクへ飛んでい
ってしまう)。全く動かないのではなく3回に2回ぐらいはちゃんとDoSomethin
g()が実行されます。原因が全くわからないんですが、どこか変ですかね??
それともComInterOpのバグ??
IEコンポーネントって、具体的に何をさすのでしょうか?
WinInetのAPIを使うこととは違いますか?

それとも、コンパイラによって具体的な物が変わって
くるのでしょうか?
手元にあるコンパイラはVS6とBCB5なんですが。。。。

おせーて下さいっ!!
CHtmlView / TCppWebBrowser
SHDOCVW.DLL
493デフォルトの名無しさん:02/09/20 09:46
MSDN(Web)の情報、増えたんじゃない?
米国司法省とかとの和解案の反映の結果?
いずれにせよ、ちと興奮気味に見てます。
245 :デフォルトの名無しさん :02/09/20 15:43
http://biztech.nikkeibp.co.jp/wcs/leaf/CID/onair/biztech/biz/207451
おお、大手企業はどんどん金を出しつつあるぞ。
どうする?アイフル。

246 :デフォルトの名無しさん :02/09/20 16:42
日本国内でやっている分には問題ないっつってるだろ。

247 :デフォルトの名無しさん :02/09/20 17:17
>>246
インターネットで公開したら世界中が対象範囲だろ

250 :デフォルトの名無しさん :02/09/20 20:47
ブラウザ作って配布すると
gif/jpegの特許であぼんされるってホントですか?

251 :デフォルトの名無しさん :02/09/20 21:03
ホントです。

252 :デフォルトの名無しさん :02/09/20 23:34
>>250
テキストブラウザにしませう
495デフォルトの名無しさん:02/09/27 02:27
VB6.0でWebBrowserを使いVBのフォームの中にページを表示させるようにしました。
それでなんですが表示されたページの懸賞などの入力フォームなんかに自動入力させたいのですが
教えてください、お願いします
496495:02/09/27 02:30
すいません一行抜けてしまいました。
>VB6.0でWebBrowserを使いVBのフォームの中にページを表示させるようにしました。
>それでなんですが表示されたページの懸賞などの入力フォームなんかに自動入力させたいのですが
どのようにすればいいのでしょうか?
>教えてください、お願いします


>>495-496
掲示板荒らしプログラムを作るの?だったらHTTPでPOSTするような
プログラム書いたほうが早いよ。
それとも、本当に懸賞の入力フォームに自動で入力するようなものを
作るの?そんなのサイトによって入力するのが違うから汎用性がないよ。
もしやるとしたら、form.element.valueに入れれば入力されると思うけど。


*** 注意 ***

InternetExplorerのインスタンスを利用するばあい、
UNISYSにLZWの特許の使用許可を得なければならない可能性があります。
しかし、アメリカにおけるマイクロソフトの独占禁止法違反の裁判では、
InternetExplorerは、「ウインドウズの一部ではなく、製品である」と判断されたようです。
インスタンスの利用は、製品の利用であると考えると、特許の使用許可はいらないようにも思えます。

作成したアプリケーションを配布する場合、米国UNSYSにお問い合わせください。

499デフォルトの名無しさん:02/10/02 16:51
C#.NETでIEコンポーネントを使って勉強していたらNavigate()の呼び出しで
リソースが使用中云々という例外が飛ぶようになり直りません。
原因と対処方法をご存知の方がいればぜひご教示ください。
500デフォルトの名無しさん:02/10/02 19:45
とりあえず 500 get age.
501499:02/10/03 12:26
その後そうこうしているうちにHDDが異音を発し始め、見慣れないエラーが頻発し、
最後にはとうとうWindowsすら立ち上がらなくなりました。(´・ω・`)ショボーン
502デフォルトの名無しさん:02/10/07 13:12
mshtmlのIHTMLDocument2.clear()って実装されていないみたいなんだけれど
表示中の文書を一気に消すにはどうしたらいいですか?
Navigate("about:blank"…)
とかしか 方法ないですかね。
document.open()
504デフォルトの名無しさん:02/10/07 22:48
>>503
> document.open()

IHTMLDocument2.open("text/html", "replace", null, null)
でいいのかな?
とりあえず いいみたいっす。 さんくす。

505デフォルトの名無しさん:02/10/19 13:16
AxWebBrowser の C# ラッパはクソ。クソクソクソクソ。クソ。ぷりっ。
sage
507あぃよー:02/10/25 21:58
VB6で簡易Webブラウザを作成しています。
そこで、IEの”お気に入り”のメニューと同じものを作りたいのですが、
どのようにしてメニューを作ればいいでしょうか?

Win2000とか98とかで、Favoritesの位置が異なるのは
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Favorites
でなんとかなるとは思うのですが。。。
508デフォルトの名無しさん:02/10/26 17:19
age
>>507
お気に入りフォルダの取得は
SHGetSpecialFolderLocationを使った方が良さそうな気がする。なんとなく。
ファイルの構造はIniFileと同じだから、IniFileとして扱えばUrlを得られるけど、
なんかもっと他の方法が有ったような気がしないでもない。
IEコンポの話かどうか微妙だね
511507:02/10/26 22:17
>>509
汎用性を重視して、そっちを使ってみます。
INIとして読み込むのも手ですが、その文メニューを開くのにも
アプリを開くのにも時間がかかりますしね・・・。
どうしましょうか・・・

>>510
一応、WebBrowserっていうIEとリンクしているコンポーネントは使っているのですが。。。
”新しいウィンドウで開く”にすると、IEが立ち上がりますし・・・(なんとかしなきゃ・・・)
512The Age:02/10/27 13:54
ageageよ〜ん
>>511
> ”新しいウィンドウで開く”にすると、IEが立ち上がりますし・・・
良くある話だな。聞かれる前にリンクを貼っておこう。
ttp://support.microsoft.com/default.aspx?scid=KB;EN-US;Q184876&

しかし、今の俺は垂直スクロールバーを
「いらないときは消せ」といわれて頭を抱えていたり。
DOCHOSTUIFLAG_SCROLL_NOを立てると必要なときも出てこなくなるし。
誰かいー話知りませんか?
514513:02/10/27 22:07
うお。sageてどーする。
>>507
いまどきVB製の糞ブラウザなんて(゚听)イラネ
fubは別だが。
516The Age:02/10/28 19:24
>>511
Thanks.ありがとうございました。

>>515
ブラウザですが、コレ単体で配布するのではなく、
別ソフトから配布サイトの更新情報のHTMLにアクセスして更新状況がわかるように
するために開発中なんですが・・・
517507:02/10/28 19:26
名前間違えますた。スマソ
>>505
>AxWebBrowser の C# ラッパはクソ。クソクソクソクソ。クソ。ぷりっ。

やっぱ、何かおかしいよね?
マウスイベントハンドラあたりとか。
漏れが悪いんじゃないよね。。。
FORTH は糞
520デフォルトの名無しさん:02/11/03 23:44
http://koni.dynsite.net/navi/navi.cgi

2ちゃんねらーの力で打倒ヤO−
毎日絶対見てしまうホームページ登録しる
          
521デフォルトの名無しさん:02/11/09 15:48
age
522デフォルトの名無しさん:02/11/11 00:24
age
sage
524デフォルトの名無しさん:02/11/11 22:42
525デフォルトの名無しさん:02/11/14 17:48
526デフォルトの名無しさん:02/11/14 17:48
527デフォルトの名無しさん:02/11/14 17:48
誰かmozillaコンポーネントでブラウザを作ってないのか
>>528
スレ違い。レス嫁>>484
530デフォルトの名無しさん:02/11/22 21:12
silentを設定できるくせに、SetOptionに相当するメソッドが見つからないので抜け道を探しています。
自動で認証をすませてしまうようなカラクリを実装するためには、どうしたらいいのでしょうか?

Windows2000/VC++6で、MFC使用可です。
531sage:02/11/22 22:15
自分がアホウでした。特になにも考えなくても抜けらるんですね。
どうやってSession Handleを渡してやれば(受け取れば)いいのか
悩んでいたのがバカみたいです。グローバルなんですね・・・
WinInet.dllとの併用で、何事もなく通過してしまいました。
思い込みは恐ろしい・・・

とりあえずマ板で吊ってきます・・・
532デフォルトの名無しさん:02/11/24 07:22
それっぽいスレが見当たらないのですけど
BHO + DHTML の質問はここでもよかですか?
532です。BHOうんぬんは忘れてください。
調べてたらIEコンポーネントの話に限定できそうでした。

(1).IWebBrowser2からIHTMLDocument2 を取得。
(2).IHTMLDocument2からinnerHtmlなどでエレメントを追加。
(3).追加したエレメントのonclickなどにcの関数ポインタを渡せば
  HTML上でイベント発生時にcの関数は呼び出されますか?

言語はVC6です。VB6で似たようなことはできてるから
たぶんVCでもできると思うんですけど、まだ(1)すらできてない・゚・(ノД`)・゚・。
(1)については、どっかにNavigate/Navigate2しないと、DocumentがNULLらしい。
ので、about:blank等を一度読み込んでからget_Documentするといいらしい。
> DocumentがNULL
OnDocumentCompleteとかでやるもんなんじゃないの?

lpDispatch->QueryInterface(IID_IHTMLDocument2, (void**)&lpHtmlDoc);
みたいなので(1)ぐらいは出来そーだけどな。
>>513
今見たら見えんくなってた。
昨日見たときは確かにあったのに・・・。
保存しときゃよかったsage
537536:02/11/28 01:00
やべ、見れた(--;
541デフォルトの名無しさん:02/12/10 02:09
542デフォルトの名無しさん:02/12/11 15:28
oiomaera

タブブラウザをvc6.0で作る方法教えれ

まじで
donutのソースでも嫁
現在プログラム板老舗スレ第5位!
545デフォルトの名無しさん:02/12/25 11:53
mfcでタブブラウザ作る方法教えれ
546デフォルトの名無しさん:02/12/25 21:13
IEコンポブラウザ内のフォームで
ビジュアルスタイルを反映する方法はありますか?
純正IE6以外ではクラシックスタイルになってしまうのですが
547デフォルトの名無しさん:02/12/25 21:32
manifestを作るとツールバーとかはLunaになったけど
やっぱフォームはクラシックスタイルのままだ…
IEのフォーム類は自力で描画してたと思うが。
549デフォルトの名無しさん:02/12/26 02:16
>>548
で、Lunaで描画させるにはどうしたらいいのかと。
IE6しか使えない隠しAPIでも使ってるんでしょうか?
活!
552デフォルトの名無しさん:03/01/08 17:38
現在、非表示のWebBrowserコントロールにファイルを読み込ませ、
その内容をメモリデバイスコンテキストに描画したいと考えています。
OleDrawを利用すればHTMLファイルやJPEGファイルなどは
描画できるのですが、PowerPointのファイルは描画できません。
この場合、IEコンポーネントの上にPowerPointアプリケーションが
立ち上がっているようなので、WebBrowserコントロールを対象とした
OleDrawを行っても何も描画されないのではないかと思われます。

ならば、PowerPointアプリケーションを対象にしてOleDrawを行おうと思っても、
WebBrowserコントロール上で動いているPowerPointアプリケーションの
IDispatchインターフェースをどのように取得していいのかわかりません。
(取得できるものなのかもわかりません。)

非表示のWebBrowserコントロール上のPowerPointファイルをメモリ上に
描画するには、どうすればいいのでしょうか?

普通にWebBrowserコントロールを表示させPrintScreenを利用したり、
表示しているウィンドウのデバイスコンテキストから描画したいところなのですが、
WebBrowserコントロールを非表示にし、かつコントロールのサイズを
モニタのサイズを大きく越えるようなサイズ(3000×2000以上)にした状態で
メモリデバイスコンテキストに描画したいのです。
英語わかんねぇよ

誰かIEコンポ完全日本語マニュアル作ってくれ〜
554IP記録実験:03/01/08 21:26
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
>>584
イオナズン
これでサイコムスレの粘着も消えるな
最高裁への上告は認められなくなったから、これで事実上判決確定だよ。
逆転も何もないって。          
勢いで上告なんかしても一発で上告却下(門前払い)だよ。
   
二審も一審を支持。これに対して上告しようにも、
刑事訴訟と同様、自由に上告できるってもんでもないのです。
民事訴訟法312条 (上告の理由) 1項
「上告は、判決に憲法の解釈の誤りがあること
その他憲法の違反があることを理由とするときに、することができる。」
http://www.m-net.ne.jp/~doba/goto/hon.htm
  
ようするに上告しても今の制度では100%無駄。 これで完全終了ってことか。
名スレの予感
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
ひろゆきって最低だよな。
ひろゆきのせいで、社会生活はしっかりやってるのに
ちょっと調子乗って書き込んだ聖人君主がタイーホされるわけだよ。
ほんと最低だよ。人間のクズだよ。
>>92
いやぁ、明日弁護士さんに会いにいくから、
ここらへん重要だったり、、、

内容証明ではなくて訴状が届いた時点で削除をしておけば、
削除義務違反ではないってことになるのかな、と思って、、
>>92
いやぁ、明日弁護士さんに会いにいくから、
ここらへん重要だったり、、、

内容証明ではなくて訴状が届いた時点で削除をしておけば、
削除義務違反ではないってことになるのかな、と思って、、
>>91 結局ひろゆきがいつの時点で消していれば、賠償責任を逃れられたのでしょうかね?
>>436
>まあしかし控訴した場合、最高裁裁判官には不信任投票
>ができるからそっちで遊べそうだね
ついにこういう日が来ましたか。。
>>112
そうだね。
今なら勝つ確率高いしね。
しかも何百ももらえるしw
わーい!テスd
【ネットボランティア】余ったCPUを・・・
 cell computingとは、ブロードバンドに接続された家庭内や
企業内のPCの余剰CPUパワーを統合し、
仮想的なスーパーコンピュータとしての利用を実現する
技術を用いたSI、ネットワークサービスです。
 バイオ、物理計算、設計、金融工学、CGレンダリングなどの
分野のお客様へ、安価に仮想スーパーコンピュータパワーを
提供することを目的としております。
 なお、将来的には収益にあわせてCPUパワーを提供してくださる
参加者へポイントシステムやデジタルコンテンツによる
利益還元を考えております。
http://www2.cellcomputing.jp/

2ちゃんねるのチーム作ってみました。
http://members.cellcomputing.jp/services/teams/team.htm?id=ABBE425B-CE11-4DA4-8591-C68DF67DA41A
IRC落ちた?
負け犬は現実社会ではなにもできない奴ばっかだから間に受けない方がいい負け犬=俺以外のやつ
全部にいれてみた。
便所の落書きが、青年の主張に変わるね
避難先はどこ?
さん
この展開は、夜勤さんがお好きそうな展開ですわ(笑)
Winny引っ越しかね
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
   ,rn
  r「l l h    ハイル・イルパラッツォ!!
  | 、. !j
  ゝ .f         _
  |  |       ,r'⌒  ⌒ヽ、.
  ,」  L_     f ,,r' ̄ ̄ヾ. ヽ.
 ヾー‐' |     ゞ‐=H:=‐fー)r、)
  |   じ、     ゙iー'・・ー' i.トソ
  \    \.     l ; r==i; ,; |'
   \   ノリ^ー->==__,..-‐ヘ__
     \  ノ ハヽ  |_/oヽ__/    /\
      \  /    /       /  |.  
        y'    /o     O ,l    |
        |    |        |  /
      ,r(( (   ,r─、   ,,、zニ二ニーィ
    /rO ヾ==、/=ニ~∨∠´   O   ヽ
   /__,,,ィイ叮叮(金) |「叮叮-iト┬ェ─┘
       !シ┴┴ヾ==ノ`┴┴--、ノ-ヽ-、
     <´  _,,,,,,_    ,r┬─-、  ̄`'''",>
      `ー/;;;,, \  ( {  ;;;;;:;;;ヽー''´
       //,',';;  ノ--、>!, ',',;;::',',゙i
       /,',',';;" /     \ ',',',;;,'i
      i 、  /       ヽ ',;::'、|
      |   〈         ヽ''  {
      ト,   i          | 、 i
      |',',;;  }          ! ',',;;i
      |,','、 /          ヽ',',','|
      !;;', /            !,',;,;'|
      ゙i',';;;;i            |:::;;;i
       !'' {             }'' !
     /  i,             〉 ヽ、
    彡、,,,-‐┘           └ュュュュ
殺されたら訴えれない罠
もともとほとんどの政治家≒デムパだろ?
自殺者が戦後最多になるくらい失業者がでても権力争いばっかり。(w
39 :名無しさん@お腹いっぱい。 :02/07/31 04:31 ID:???
罰が当たる?
脱会する予定者へ脅迫する層化用語
>>>辞めたら癌になります
>>>辞めたら来世は害虫か身障者になって生れ変わります
>>>辞めたら交通事故に遭います
>>>辞めたら無間地獄に落ちます
>>>辞めたらバチが当たります
>>>辞めたら不幸なことばかり続きます
>>>辞めたら阿鼻叫喚、断末魔の声を上げながら苦しんで死んでいきます
>>>これは全て事実です
層化工作員の常套手段
>>辞めたら癌になります
工作員がこっそり、薬物を入れる
>>辞めたら来世は害虫か身障者になって生れ変わります
ただの脅し
>>辞めたら交通事故に遭います
工作員が車をぶつける 
>>辞めたら無間地獄に落ちます
ただの脅し
>>辞めたらバチが当たります
ただの脅し
>>辞めたら不幸なことばかり続きます
嫌がらせ部隊が毎日、嫌がらせをする
>>辞めたら阿鼻叫喚、断末魔の声を上げながら苦しんで死んでいきます
層化公安警官らが電磁波マインドコントロールで攻める
電磁波マインドコントロール
http://corn.2ch.net/test/read.cgi/police/990934972/
http://www2u.biglobe.ne.jp/~mcva-jp/
http://www.panawave.gr.jp/emr/emr_top.html
ひろゆき降臨キボン
839氏が作るそうです
てすと
2ちゃんの普通が基準なのか、それとも現実世界での普通が基準なのか
問題だよ!犯してーなんて2ちゃんではどこでも見かける言葉じゃん
でも、現実世界では人前では言わない言葉だ、そこらへんどうなのよ?
びっくらこいた
【最後の砦】書き込めば今年合格できるスレ【神頼】
http://school2.2ch.net/test/read.cgi/kouri/1041636818/
なな遊んでくれ
ネタにマジレ(ry
そういうレスをすると本当に本人が降臨して
やる気なく適当に「むきー」とだけ書いて去ってったりすることがあるので
やめてください。
590山崎渉:03/01/13 18:57
(^^)
592山崎渉:03/01/15 18:11
(^^)
フォルダの同期プログラムなんて、そこらじゅうに転がってないか?
594デフォルトの名無しさん:03/01/19 22:27
IEコンポーネントの質問というか、自分でIEコンポーネントみたいなものを
0から作って実装したいんですけど、参考になる資料とかサイト無いですか?
>>594
あなたは何が知りたいの?もう少し具体的にお願い。
まさか「HTTPって何ですか?」ぐらいのレベルじゃないですよね?
596デフォルトの名無しさん:03/01/20 14:33
>594
ここでそんな質問している時点で、0から作って実装なんて到底無理と思われ。
自分でブラウザ作ろうとした事あるけど
テーブルで挫折した
598山崎渉:03/01/23 20:07
(^^)
599デフォルトの名無しさん:03/01/26 13:54
600デフォルトの名無しさん:03/01/29 22:27
 
>>601
>オスマニさんのブラウザーは、米マイクロソフト社のインターネット・エクスプローラ(IE)をベースとしている。
>だがオスマニさんは、ビジュアル・ベーシックではなく、ボーランドC++をプログラミングに使用した。
>このため、さらにマイクロソフト社のツールをいくつか使って言語を変換しなければならなかった。
どゆこと??
IEのソースを見て作った??
IEはVBで作られてる??(w
なんてこった。。
IEコンポを使い倒すのに参考になる書籍はありますか?
英語苦手なんで日本語のやつで
604デフォルトの名無しさん:03/02/04 03:15
IEコンボ
605デフォルトの名無しさん:03/02/04 03:21
BCBでタブブラウザ作ってるんですけど、スクロール位置を取得したり
変更したりといったことができません。
どうしたらいいですか?
606デフォルトの名無しさん:03/02/05 04:36
IEでクリックしたリンクのURLを履歴に残さないようにする
方法を教えてください。
または、プログラム的に意図的に任意のURLを削除する方法(API)を
教えてください
607デフォルトの名無しさん:03/02/05 10:46
>>606
ステルスクリック
608名無しさん:03/02/05 10:53
609デフォルトの名無しさん:03/02/05 22:28
>>606
なんとかUrlCacheEntry
610606:03/02/05 23:44
すいません
もう少し具体的に教えてください
>>608
>>609
>>606
わかんないけどたぶんFindFirstなんとかとかDeleteなんとかとかなんじゃないかな
612605:03/02/08 03:12
誰かわかるかたいらっしゃいませんか?

。。。もしかしてものすごく難しいことですか?
document オブジェクトの body.scrollTop
http://hogehoge2001.tripod.co.jp/note-delphi.html
614605:03/02/08 03:55
>>613
それはデルファイの場合の話ですね
文法が違うだけで同じだよ。
616デフォルトの名無しさん:03/02/08 23:22
>>615
具体的にどうなんでしょうか・・・
やってみたけどうまく動きませんが。
プログラム書いたことありますか?
>616
Javascriptでも同じプロパティやメソッド使ってスクロールさせられるんだけど。
低俗だな
619 :03/02/09 04:27
>>616
( ´,_ゝ`)プッ
620606:03/02/09 05:57
>>609
>>611
すいません、どうやらそれはVBのような?
VC++上での話で教えていただけませんか?
キーワードだけでもよいので、できるだけ自分で調べます

>>606は釣り師
622デフォルトの名無しさん:03/02/09 17:08
IEコンポーネントで、リンクをクリックしたらアプリを起動なんて出来る?
やっぱIEのセキュリティ設定に引っかかっちゃう?

アプリのメニューをHTMLで書きたいんだけど、無理なのかな…
>>622
BeforeNavigate2イベントでURLを調べて
アプリを起動すればセキュリティは関係ないのではないでしょうか?
>>606
IUrlHistoryStgじゃだめか?
625605:03/02/09 17:32
>>617
JavaScriptでスクロールできることは当然わかっております。
私が聞いているのは残念ですがJavaScriptではなくBCBです。
C++ではどう書くのかが問題なのです。
>>605も釣り師
>>626
オレは>>605じゃないけど
自分がわからないことに対するツッコミとして 釣りだ とか何とか言うのは
「逃げ」だと思うよ。 そういう発言は慎んだ方がいい。 以後気をつけろよ。
>>627
すでに>>613とかで答えが出てるのにこれ以上引っ張るのはネタだろ
自作自演ご苦労様
>>627=>>625=>>605
自演(・∀・)キター
630 :03/02/09 23:49
分かりやすい自演だなー(藁
>>627
> オレは>>605じゃないけど
「おれ生粋の日本人だけど」みたいなもんですか?
煽ることしか能の無い馬鹿の集うスレはここですか?
>>632=>>605 ジエン(・∀・)ばれて必死だな(藁

ちなみに煽ることしか能の無い馬鹿の集うスレは↓
http://pc2.2ch.net/test/read.cgi/tech/1044553806/
木) 04:45
最近の2chは確かに面白くなくなった。
たぶん、>>1=>>2=>>3みたいに「自作自演」とか
「必死だな」とかマジレスしても「つれた」とか、
そういう糞レスが面白くなくならせているんではないのかと。
自分でネタを提供できないアホが増えたせいで
内容が薄まっている気がする。
>>634
実際につまらなくしてるのはお前みたいに自分に(゚д゚)マズーな流れになると
コピペを貼りまくる香具師だと思うぞ

次の書き込みは「釣れた」とかですか(藁
や釣れた
>>635
コピペみたいに一行目書いてみただけ(藁

「釣れた」「必死だな」は以降禁止でマターリやりたい。
>「釣れた」「必死だな」は以降禁止でマターリやりたい。

きみは2chやめた方がいいと思うよ
639デフォルトの名無しさん:03/02/11 03:39
みんな仲良くしてください!
難問もみんなで知恵を出し合えば解決します
みなさんの節度ある紳士な態度を期待してage

>>605
ごめん。わからん。
>>638
あー、お前か。なっとく。
>>640
うん、おれ。今度出張でそっち行くから、そんときは泊めてくれ。よろしく
>>641
いい加減アレ返せよ。ちゃんと。
IE のエクスプローラーバーとして登録した HTML に埋めこんだ VB OCX から
自分自身が入っている IE コンポーネントにアクセスして表示中の URL などを
取得したいのですが、これ可能なんでしょうか?

UserControl.Parent.Script.document.parentWindow

だとエクスプローラーバーの window (frame?)までしか辿れないし、

win = open("", "_main")
url = win.location.href

だとセキュリティエラーになって困ってます(そもそもなぜセキュリティ
エラー?ローカルマシンへのアクセスはできるのに)。

内部から辿るのではなく、全 IE 窓をなめる

Dim SW As New SHDocVw.ShellWindows
Dim IE As SHDocVw.InternetExplorer

For Each IE In SW
MsgBox IE.LocationURL
Next

だと、URL は取れるものの、どれが自分の窓の URL か判別できません。

そんな難しいはずはないと思うんですが、MSDN みてもこれだ、というのは
ないし、わかる人がいれば教えてもらえないでしょうか。
644643:03/02/11 19:03
その後試行錯誤して、取れることは取れるようになりました。
でも綺麗でないので後学のためまっとうな取り方を誰か教えてもらえると
うれしいです。

とりあえず今の取り方:

1. UserControl.hWnd を再帰的に GetParent し、トップレベルの hWnd を記録
2. For Each IE In SHDocVw.ShellWindows して、IE.hWnd と比較
3. 一致したら、その IE が自分が入っているエクスプローラーバーを持っている IE コンポーネント
4. 後は IE.LocationURL なり IE.document で表示内容にアクセス

こんな hWnd に VB で触っている時点で方法として間違っている気がする。
>>644
VBは知らないけれど
Win98/2k以降なら
AccessibleObjectFromWindow
というAPIで2.以降は解決しそう
646デフォルトの名無しさん:03/02/12 03:05
>>605
わたしも同じところで悩んでます
このあたりは資料がどこにもなくて困るんですよね
647643:03/02/12 03:37
>>645
コメントどうもです。書き込み先のポインタを渡してるようなので呼べるか
どうかあんまり自信がないですが、もうちょっと見てみます(使ってるのが
VB5未満のVB5CCEなので機能が足りなめ)。

  HTMLDocument -> (SHDocVw.)InternetExplorer

という方向にまっすぐ遡れるか、フレーム間参照のセキュリティチェックを
通過できる、というのが一番ストレートなんですが、どうも駄目っぽいです。
前者は何か手があるんじゃないかとまだ思ってるんですが。

しかし、後者のセキュリティチェックは一体どういう意味があるのか疑問。
一方でシステム操作までできるのに、フレームへのアクセスだけ禁止して
どうする?>MS 権限確認をせずに、単に異なるドメインのフレーム間参照を
禁止してるのか…
>>644
hWndを比較しなくても、オブジェクトを比較すればいい。
On Error Resume Next
Dim SW As New SHDocVw.ShellWindows
Dim IE As SHDocVw.InternetExplorer
For Each IE In SW
 If IE.Document.parentWindow.Document Is UserControl.Parent.Script.Document Then
  MsgBox IE.LocationURL
  Exit For
 End If
Next
>>647
つーか、IEのエクスプローラーバーとして登録したHTMLにVBのOCXを埋めこむより、
VBのOCX自体をエクスプローラーバーとして登録した方がスマートかと。
↓に必要なタイプライブラリとサンプルが揃ってる。
http://www.domaindlx.com/e_morcillo/
650643:03/02/12 16:32
>>648
いや、それだと駄目なんですよ。IE の通常画面中の OCX ならそれで
比較できるのですが、今回 OCX が埋まってるのはエクスプローラーバーの
方なので、

 IE.Document... IE の通常表示画面(target="_main")の方
 UserControl.Parent... エクスプローラーバーの方

と違うところになってるんです。UserControl.Parent... と普通に
オブジェクト階層を遡って IE まで到達する方法が見つけられなかったので、
GetParent でウィンドウIDを辿ることで比較しているわけです。

>>649
ポインタありがとです。今は OCX は構成要素の一部に留めておいて、
HTML/JavaScript と組み合わせて画面を作ろうというのが計画なんですよ。
楽だし。でも Windows 側と連携させようとすればするほど OCX/VB でやって
しまう方が有利になりそうなのと、URL教えてもらったことだし最初から
全部 OCX にすべきかな…
651643:03/02/12 17:34
>>649
見てみたけど HTML+OCX より激しく複雑…HTML登録だと大半の
作業は SHDOCVW.DLL がやってくれるけど、こちらだと全部の
インタフェースを自分で実装しなきゃいかんから手ごわい。

似非プログラマとしては HTML を接着剤として使うのが、
それ以外の目的で HTML を使うことがないとしても有利かも。
652デフォルトの名無しさん:03/02/13 07:06
Scriptで開かれたウインドウかどうかを知る方法って無いですか?
Popupウインドウを消したりとかする時に、それが判っていないと、
消したくないウインドウまで消してしまったりとか色々と困るのです。
>>652
リンクをクリックしてない時にウィンドウが現れたら、
Popupウインドウだと判断すればいいんじゃないの?
654デフォルトの名無しさん:03/02/13 20:49
VB6でWebBrowserコンポーネントを使って不特定多数が使用する
ブラウザを作っています。
ここしばらくぐぐったり読めない英語ページのサンプルを見たりして
色々と調べていたのですが、分からないので分かる方がいたら
ヒントだけでも教えてください。

一つ目は、新規ウインドウを自分自身に表示する。というのを
NewWindow2イベント内で自身のオブジェクを新規に作成して投げる
事で解決できたと思ったのですが、これをやると新規ウインドウから
前へ「戻る」事ができません。
「戻る」ボタンが利くように自分自身のウインドウに表示できないでしょうか?

二つ目は、mailtoタグなどをクリックされたときにメールクライアントが
起動するのを抑制したいのですが、BeforeNavigate2イベント内で
mailtoを判別できても、それをキャンセルする方法が分かりません。

何か方法は無いでしょうか・・・(=;ω;)ノK
655654:03/02/13 21:46
上のを書き込んで書き込みボタンを押した瞬間に
ソースが脳裏に浮かんでチェックしてみたら二つ目は出来ました!

というか、Cancelのスペルを間違っていて、ご丁寧にも間違った
スペルのCanselを変数宣言していたのでエラーは出ないけど
ちゃんと動いていただけだという、なんともおまぬけな・・・

これでmailto制限や禁止URLなんかも作れそうです。

一つ目のはやっぱり分からないので、どなたか〜〜(;´д⊂)
656デフォルトの名無しさん:03/02/13 23:27
historyか?
>>654
help を見た感じでは、こんな流れで実現出来るかな? 的外れならスマソ。
確認していないので、動作の保障は出来ませんけど。

下準備
あらかじめ、ダミーの WebBrowser Object を作っておいて Navigate2 ハンドラをセットしておく。

処理
1. メインの WebBrowser Object の NewWindow2 イベントハンドラが呼ばれる。
2. ppDisp にダミーの WebBrowser Object をセットする。
3. NewWindow2 イベントハンドラ終了。
4. ダミーの WebBrowser Object の Navigate2 ハンドラが呼ばれる。
5. Navigate 先の URL を保存。Cancel を True に設定。
6. メインの WebBrowser Object の URL を、この Navigate2 ハンドラで得られた URL に変更 (Navigate) する。
7. Navigate2 ハンドラ終了。

6 で Navigate した時に、NewWindow2 イベントが発生しない事を前提にしているので、
その可能性がある場合は、別途、対策をしておいてください。
658652:03/02/15 00:03
>653
ありがとうっす。
ただ、別の簡単な方法を思いついたので、とりあえずはそっちで済ます事にしました。
でもそれはあんまり確実じゃなさそうなので、
WindowClosingイベントのIsChildWindowみたいのを、
別の時に知る方法が有るかどうかを引き続き調べてるんですが、
どなたかご存じないですか?

ちなみに今は、とりあえずこんな感じにしてある。
procedure THoge.BrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
var Doc2: IHTMLDocument2;
begin
Doc2 := FBrowser.Document as IHTMLDocument2; //FBrowser: TWebBrowser;
// Scriptで勝手に開くウインドウの場合は、大抵がactiveElement = nilになるっぽい。
if Doc2.activeElement = nil then begin // 以下略
659652:03/02/15 22:32
やっぱダメだ。
>658の方法じゃ半分くらいしかポップアップウインドウを消せない。
ポップアップ広告を完全に排除しようと思うとMozillaみたいな方法しかないと思うが。
661デフォルトの名無しさん:03/02/17 01:43
インターネットからのデータ読み込みについて質問です
まず、コードを出したほうが話が早いので、、、
----------------------------------------------------------
CStdioFile* pFile = NULL;
try {
pFile = pInternetSession->OpenURL(theURL_full,1,(INTERNET_FLAG_RELOAD | INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_DONT_CACHE) );
}
catch(CInternetException *e)
{
::MessageBox(NULL,"インターネットからファイルが取得できませんでした","ERROR",MB_OK);
e->Delete();
return FALSE;
}
if (pFile == NULL) return FALSE;
//ローカルへ書き込み
buffer = new char[65536];
cFile.Open(theFile_full,CFile::modeCreate | CFile::modeWrite | CFile::shareDenyNone | CFile::typeBinary);
while(1)
{
n = pFile->Read(buffer,65536);
cFile.Write(buffer,n);
if(n < 65536)break;
}
cFile.Close();
---------------------------------------------------------
といった感じで、指定したURLからデータをバッファに読み込むプログラムなのですが、仮に指定したURLが無効であったり、指定した
ファイルがなかった場合に、例外を発生してくれればエラー処理しやすいのですが、そうではなく、正常に読み込めたものと
みなして、読み込んだバッファに
「404 error(サーバーによって異なる)」
みたいな文字列が入ってしまうのです。未然にそれを感知して防ぐ(不正URLを読まない)にはどうしたらよいでしょうか?
教えてください
662661:03/02/17 01:45
661でバッファに読み込むと書いておりましたが
ファイルへのストリーム書き出し処理の間違いでした
スレ違いの予感
>661
>未然にそれを感知して防ぐ
たぶん出来ない。ていうか普通はそうしない。
いったんどっかの変数に入れて、ごちゃごちゃっと処理を済ませた分から保存してく。
でないと、ヘッダも丸ごと保存する事になっちゃうし、
Transfer-Encoding: chunkedの時とか何か余計なのが混じったままになっちゃうし。
てかそれよりスレ違い。

ネットワークプログラミング相談室 Port5
http://pc2.2ch.net/test/read.cgi/tech/1040220302/l50
>>661
委員長、乙
>>661
CHttpFileはCStdioFileから派生されている。
CInternetSession::OpenURLは内部的にHTTPからのレスポンス(HINTERNET)を
CHttpFileを生成して格納し、CStdioFile*として返している。
(そのままCHttpFile*として返さないのはFTPなどの場合も考慮してのこと)
OpenURLの戻り値をCHttpFile*にキャストして、CHttpFile::QueryInfoStatusCodeを使えばよい。
667664:03/02/17 18:12
む。Cは解らんのに適当に答えたら、はずしてもうた。
WinInetの問題で言語は関係ないだろ。
恥の上塗りだぞ
いや、WinInetというよりはMFC固有の問題だから、
C(含むC++)を使ってないというのであれば、そう的外れでもない。
が、そもそも口をはさむのが間違い
WinInetの問題というより、インターネッツの問題だろ。
サーバと通信できないのと、
サーバが、んなファイルネーヨって返事してくるのは別もの。
>>670
いやだから、404が返って来た時に200とは別処理にしたいってことでしょ。
ファイルが見つからないのを200で返されることもままあるけど。
MFCスレじゃないと混乱が起きるな。
672デフォルトの名無しさん:03/02/28 20:53
ttp://www.microsoft.com/japan/msdn/web/ie/ie55/beyondprintpreview.asp
↑この印刷テンプレートって使ったことある人いますか?
サンプルになりそうなC++のコードとかあったら教えてください。
IEでアクセスした時に、Httpのステータス(404など)を取得する方法ってありませんか?
DocumentCompleteイベントあたりで取得できないものかな?
>>672
IEコンポーネント(のことだよね)にURL渡す前に、HEADメソッドでリクエスト飛ばすってのはダメなの?
675674:03/03/01 19:28
>>673ね。
676デフォルトの名無しさん:03/03/02 20:22
プログラミングの話題とすこしずれて恐縮なのですが、
リンクをクリックした際に、リンク先のURLが履歴に残らない
HTMLの作成方法ってありますか?
ご教授ください
>>676
あります。
678676:03/03/03 05:27
>>677
方法か参考URLをご教授ください
679デフォルトの名無しさん:03/03/04 12:51
BCCで IEコンポーネントってつかえるの?
VBまたはVC++でリファラーを変えるにはどうすればいいの?
>>679
できます。というかgccでも使えるんだからできないとおかしい。
682デフォルトの名無しさん:03/03/10 01:09
選択範囲を取得または設定するにはどうしたらいいのでしょうか
IHTMLSelectElemetやIHTMLSelectionObject辺りが怪しいなと思ったんですが…
IHTMLSelectElemetは<select>〜</select>のことだから
ぜんぜん関係ない
684age:03/03/10 10:25
>682
たぶんこの辺
IHTMLDocument2::selection
IHTMLBodyElement::createTextRange

ttp://hogehoge2001.tripod.co.jp/note-delphi.html

ttp://www.codeproject.com/useritems/chtmlview_search.asp
インターネットオプションとは別に、IEコンポーネントでプロクシを設定するには
どうすればいいのでしょうか?
調べてみたところ、InternetSetOption()やUrlMkSetSessionOption()があったの
ですが、なんか大本の設定を変更するような感じで…
687デフォルトの名無しさん:03/03/10 15:11
sageてしまった
>>686
>大本の設定を変更する
俺もどこかで、そんな説明を読んだ気がするけど、
実際URLMkSetSessionOptionを試してみたら、
ちゃんと自作ブラウザだけ変更されたよ。
689682:03/03/10 22:19
>>683
>>685
さんくすです
無事出来ました。
このスレだけ一度に全部読めない。
691デフォルトの名無しさん:03/03/12 00:19
IE で CTRL+F を押したときに使える検索機能は、
IE のコンポーネントの一部ですか?

この検索機能で不具合を発見し、どこに相談すればいいかわからず、
こちらのスレの方は詳しいかと思ってカキコしてます。

以下、スレ違いですが、フグ愛の内容っす。

具体的には、下記のサイトで、PCDATA という文字列を検索すると
処理が戻ってこない(ハング)というものです。
http://www.fxis.co.jp/DMS/sgml/xml/rec-xml.html

まだ完全に、現象を発生させる方法は分かってません。
IE のキャッシュをクリアすると、再現しなくなることもあります。
>>691
(゚∀゚)やられた! オレのも帰ってこなくなった!
手動ブラクラ発動!って感じ? みたいな?
693デフォルトの名無しさん:03/03/16 02:31
MFCでWebブラウザコントロールを用いてそれを印刷したい場合、
// Verify the Web Browser control is valid.
LPDISPATCH lpDispApp = m_web_view1.GetApplication();
if(lpDispApp)
{
// Get the HTMLDocument interface.
LPDISPATCH lpDispDoc = m_web_view1.GetDocument();
if (lpDispDoc != NULL)
{
// Get the IOleCommandTarget interface so that we can dispatch the command.
LPOLECOMMANDTARGET lpTarget = NULL;
if (SUCCEEDED(lpDispDoc->QueryInterface(IID_IOleCommandTarget,(LPVOID*) &lpTarget)))
{
// Execute the print preview command. The control will handle the print preview GUI.
// OLECMDID_PRINTPREVIEW is defined in "docobj.h".
lpTarget->Exec(NULL, OLECMDID_PRINTPREVIEW, 0, NULL, NULL);
lpTarget->Release();
}
lpDispDoc->Release();
}
lpDispApp->Release();
}
みたいなコードで出来ますが、URLが印刷されちゃいますよね。
それを隠す方法があれば、ご教授ください

よろしくお願いします
Delphiでタブブラウザ作るぞエイエイオー
http://www.nitoyon.com/vc/tips/ie_component.htm
このページとMSDN見ながらポチポチ弄ってるんだが
IHTMLDocument2::write()の使い方が今一判らん…
696695:03/03/19 15:52
なんかリビルドしたらうまく動きますた。

ちなみに、MSDNのIHTMLDocument2::writeのところのサンプルコードをDWebBrowserEvent2::DocumentComplete()
のタイミングで入れてまふ
697デフォルトの名無しさん:03/03/28 10:24
ネタが無いんだがとりあえず保守ageしときますた。
698デフォルトの名無しさん:03/03/31 03:28
Webブラウザオブジェクトに表示させた
Webページ上から、別のページにリンクした際に、そのURLを
履歴に残さないようにする方法ってありますか?

リンクに飛ぶ前にOnBeforeNavigate2を捕捉することはできても、
肝心のフラグ設定(履歴を残さない)とかはできないようですね・・・

すいませんが、ご教授ください
>>698
過去ログで解答の出なかった話題は諦めろ。
>698
2chツールみたいに自前でページの取得するしかないんじゃない?
ページ設定で変更できる内容をプログラムから変更ってできないですかね?
>>701
スレ違い?
703任意のIE履歴を消す:03/03/31 22:50
unsigned shortwStr[256];
MultiByteToWideChar(
CP_ACP, // ANSI code page
0, // 既定の変換方法
"http://www.microsoft.com", // 変換元文字列
-1, // 変換元文字列サイズ(-1指定で自動計算)
&wStr[0], // 変換先バッファ
256); // 変換先バッファサイズ
CoInitialize(NULL);
IUrlHistoryStg2* pUrlHistoryStg2 = NULL;
HRESULT hr = CoCreateInstance(CLSID_CUrlHistory,
NULL, CLSCTX_INPROC_SERVER, IID_IUrlHistoryStg2,
(void**)&pUrlHistoryStg2);
if (SUCCEEDED(hr))
{
hr = pUrlHistoryStg2->ClearHistory();
hr = pUrlHistoryStg2->DeleteUrl((LPCOLESTR)&wStr[0],0);
pUrlHistoryStg2->Release();
}
CoUninitialize();
こんな感じで組みましたがうまく消えてくれません
どこに問題があるかご教授お願いします
704703:03/03/31 22:51
本当に使いたいのはDeleteURLです。
試しにClearURLも使ってみましたが、
こちらもうまく機能しません。
(エラーコードは0なのですが・・・)

どなたか教えてください
705デフォルトの名無しさん:03/04/01 20:00
http://support.microsoft.com/?id=312777

↑のを参考にして、右クリックされたときのイベントを捕まえようと思ったのですが、
ハンドラを追加していないイベントが発生しません。。
仕様っぽいのですが、他のイベントも発生させるにはどうしたらいいのでしょうか。

HTMLDocument doc = (HTMLDocument)axWebBrowser1.Document;
HTMLDocumentEvents2_Event event = (HTMLDocumentEvents2_Event)doc;
event.oncontextmenu += new HTMLDocumentEvents2_oncontextmenuEventHandler(OnContextMenu);

private bool OnContextMenu(IHTMLEventObj e)
{
  MessageBox.Show("OnContextMenu");
  return true;
}

言語はC#です。
706デフォルトの名無しさん:03/04/01 23:40
OnNewWindow2の時のURLはどうやって取得するの?
>706
IDocHostUIHandler::TranslateUrl
708デフォルトの名無しさん:03/04/02 16:34
だれか>>703に教えてやれよ
せっかくソースコードまでのせてんだからさ
>>708
マルチの自作自演てはじめて見た。
>>709
ワロタ
このマルチ、スゲェな。
>>606
>>676
>>698
>>703
必 死 だ な (w
712703:03/04/02 21:42
>>708
お口添えありがとうございます
やっぱり特殊分野なので、さすがにみんなわからないんでしょうね
悔しければ703のリストの問題点を指摘してください
わかるけど、自演厨には教えたくないからさ・・・
>>712
こんな所で釣りすんなYO
マルチ自演厨ってすごいと思った
相互リンク
■ VisualC++(MFC限定)相談室 MFC7.dll■
http://pc2.2ch.net/test/read.cgi/tech/1047949606/l50
717140:03/04/02 23:29
>>713
ちょっと姑息な手を使ったのは認めます
素直にあやまりますので教えていただけませんか?
ほんとにやばいので・・・
…ちょっと?
719140:03/04/03 00:49
実はわからねーんだろお前らw
レベル低いね(プゲラ
悔しかったらとっととコード書いてみろってんだ(ゲラ
720140 ◆KxJwJ3q4Cw :03/04/03 00:52
719は私ではありません
とりあえずトリップつけます
703の件ですが、ほんとにやばいです
どうかお力添えをば・・・
( ´_ゝ`)
722 :03/04/03 02:26
面白いのでマターリ観察しよっと
まず、「どうヤバイのか」からだな
724デフォルトの名無しさん:03/04/03 02:59
>>703
>unsigned shortwStr[256];
>MultiByteToWideChar(
>CP_ACP, // ANSI code page
>0, // 既定の変換方法
>"http://www.microsoft.com", // 変換元文字列
>-1, // 変換元文字列サイズ(-1指定で自動計算)
>&wStr[0], // 変換先バッファ
>256); // 変換先バッファサイズ

なんでこんな馬鹿なことやってんの?
wchar_t* wStr = L"http://www.microsoft.com";
でええやん。
>>140
俺は最近、松井の口が西田敏行になってきてることに危惧している
>>724
例だからじゃないの?
実際には関数の引数とかが渡されるんでしょ
で、履歴の消し方だが確かURLの頭に「Visited:」
と付ける必要がある
>724
エラーになる罠

WCHAR wStr[] = L"http://www.maccrosoft.com/";
728デフォルトの名無しさん:03/04/03 22:58
>>727
それはおかしいよ
>>727
>>724がエラーになるって、コンパイラは何使ってるの?
730デフォルトの名無しさん:03/04/04 14:24
>727
724も727もエラーにはならんが普通はやらんな。
>>730
(゜Д゚) hala?
ハラ?
両方ともエラーにならんし、普通に使う。
おまえらCの勉強やり直せ。
734デフォルトの名無しさん:03/04/10 05:03
ドキュメントの幅を取得する方法ってないですか?
スクロールバーでスクロールする分も含めたサイズを取得したいのですが。
735デフォルトの名無しさん:03/04/10 05:21
>>734
HTMLDocument doc = ...;
HTMLBody body = (HTMLBody)doc.body;
int width = body.scrollWidth;
int height = body.scrollHeight;

こんな感じでとれない?
>734
IHTMLElement2::scrollWidth
このプロパティでたぶん取得出来ると思う。
>>735
ちなみに、それは何の言語?
738735:03/04/10 14:08
>>737
一応C#からの流用
画像の拡大縮小は出来るのですが
回転はできますか?
740デフォルトの名無しさん:03/04/10 16:36
age
741デフォルトの名無しさん:03/04/11 09:05
>>735
>>736
ありがとうございます。取得できました。
ただ、これって大きくしたらその分増えてしまうのですね。

横スクロールバーを表示するかしないかの基準ってどうなってるのだろう・・・。
>>741
ウィンドウの横幅よりドキュメントのが大きければ
横スクロールバーが出ます。
ドキュメントの幅というのはドキュメントの内容に左右されます。
>>742
そのドキュメントの幅を取得できないかなぁと思い、widhやclientwidthも試してみたのですが、
どうも違うようです。なんとか取得できないものでしょうか。
744デフォルトの名無しさん:03/04/14 22:47
WebBrowserコントロールのHWNDをVBから利用するとエラーが発生します。
hWndの取得方法ってありますか?
>>744
なんで取得できないんだろうね?
ついこの間必要だったのでちょっと整理してサンプル貼り付け。
使用するときは、GetWebBrowserHWND(Me.hWnd)とWebBrowserコントロールを
置いているフォームを指定してね。

注意
SPY++で調べれば分かるけど、WebBrowserは、Shell Embeddingの中にShell DocObjectの中に
Internet Explorer_Serverがあるという形になっている。
Internet Explorer_Serverがたぶん必要なHWNDだと思う。
ただしWebBrowserになにも表示していない場合、Shell Embeddingの中にはなにも存在しなので
取得できない。Shell Embedding以外のHWNDも内部的に無駄に取得しているのでそれ以外が
ほしければちょっと修正すればOK。
746745:03/04/15 02:53
標準モジュールに書いてね。
Private Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private ShellEmbeddingHWND As Long
Private ShellDocObjectHWND As Long
Private InternetExplorerServerHWND As Long

Public Function GetWebBrowserHWND(ByVal OwnerHWND As Long) As Long
  InternetExplorerServerHWND = 0
  ShellEmbeddingHWND = 0
  ShellDocObjectHWND = 0
  Call EnumChildWindows(OwnerHWND, AddressOf EnumChildProc, 0)
  GetWebBrowserHWND = InternetExplorerServerHWND
End Function

Public Function EnumChildProc(ByVal hwnd As Long, ByVal lParam As Long) As Long
  Dim Length As Long
  Dim Name As String
  Dim NullPos As Long

  Name = String(255, vbNullChar)
  Length = Len(Name)
  If GetClassName(hwnd, Name, Length) <> 0 Then
    NullPos = InStr(Name, vbNullChar)
    If NullPos > 0 Then Name = Left$(Name, NullPos - 1)
    If Name = "Shell Embedding" Then ShellEmbeddingHWND = hwnd
    If Name = "Shell DocObject" Then ShellDocObjectHWND = hwnd
    If Name = "Internet Explorer_Server" Then InternetExplorerServerHWND = hwnd
  End If
  EnumChildProc = True
End Function
747745:03/04/15 08:12
修正
こっちのほうがいいか。GetWebBrowserHWND(WebBrowser1)として呼び出せるし。
Public Function GetWebBrowserHWND(ByVal wb As WebBrowser) As Long
  Dim OwnerHWND As Long
  OwnerHWND = wb.Parent.hWnd
  InternetExplorerServerHWND = 0
  ShellEmbeddingHWND = 0
  ShellDocObjectHWND = 0
  Call EnumChildWindows(OwnerHWND, AddressOf EnumChildProc, 0)
  GetWebBrowserHWND = InternetExplorerServerHWND
End Function
FindWindowExでいいじゃん
749デフォルトの名無しさん:03/04/16 07:57
IHtmlWindowからIWebBrowserを得ることは無理かな?
コンテキストメニューの拡張用スクリプト内で、ExecWB使いたいのだけど。
750山崎渉:03/04/17 15:18
(^^)
751デフォルトの名無しさん:03/04/18 16:21
http://members.jcom.home.ne.jp/monazilla/document/directwrite.html
↑こういうことをVC++でやりたいんですが、どうすれば良いのでしょうか?
>>752
∧_∧   
( ´∀`)< それぽ


754山崎渉:03/04/20 03:06
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
755山崎渉:03/04/20 03:42
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
756デフォルトの名無しさん:03/04/21 00:26
IEコンポーネント上でF5キーが押されたときに、リロードを実行させずに
特定のページにNavigate2()で移動させたいのですが、どうすればよい
でしょうか?
OnKeyDownではF5キーの押下が検知できませんでした。
OnNavigateComplete2もF5キーでのリロードでは発生しませんでした…。
757デフォルトの名無しさん:03/04/21 16:50
CHtmlView::Refresh() が完了したことを通知するイベント等は無いでしょうか?
DocumentCompleteもREADY_STATE_COMPLETEもダメぽ…(;´Д`)
758デフォルトの名無しさん:03/04/23 13:36
VBでWebbrowserコントロールを使う時にそのブラウザからブラウジングした時のみ
HTTP_USER_AGENTを指定のものにする事ってできますか?
レジストリとかは触らないでと言う意味です。
レジストリいじっても無理じゃない?
760デフォルトの名無しさん:03/04/23 14:12
非常に基本的な質問で恐縮ですが、
VBやVC++のWebbrowserコントロールってのは、
結局のところMS製の「インターネットエクスプローラー」
と通じてwebブラウザを表示させているのでしょうか?

基本過ぎて申し訳ないですが、、、
>>758
UrlMkSetSessionOption
762デフォルトの名無しさん:03/04/23 15:28
>>760
WebBrowserコントロールの実体は、SHDOCVW.DLL
たしかIEもこれを使ってると思う。
763760:03/04/23 15:40
>>762
ありがとうございます。

と言うことは、、、webサイトを表示する速さの向上を考えるとすると
VBやVC++では不可能と言うことかな?。。。
>>763
WebBrowserを使ってIE以上の表示速度を出そうとしていたのでしょうか。
765760:03/04/23 16:52
>>764
出そうと言うか、可能かどうかを調べていたんです。

スレ汚しすまそ。
>>763
VBではたぶん不可能だがVC++ならWebBrowserコントロールを
使わないで全部自前で描画すればいい。
「すればいい」の一言ですむほど楽じゃないけどな
VBでも可能だよ。もちろんVCと同じくらい大変だが。
CTRL+F検索を実装するにはどうすればいいのですか。
>>768
言語はなによ。
特に何もしなくても検索ダイアログでるのだが。
>>769
検索ダイアログを表示するにはどうしたらいいでしょうかってことじゃないの?
まぁ、自分も分からないが(w
>>770
試してないけど、そのまんま、CTRL+F を送ってやれば…ダメ?
ExecWBでなくて?
773768:03/04/25 15:42
できました
ちょっと考え違いしてて、回り道してた。
フォーカスをIEコンポにして、SENDKEYってやつで、CTRL+Fを渡したらできた。
言語は.NETです。
言語は.NETです。
マウスポインタの先のURLを取得するにはどうしたらいいのでしょうか。
>775
StatusTextChange Event
で取得出来るけど、
JavaScript使ってステータスバーにメッセージ流してるサイトでは
上手くいかないかもしれない。
>>775
StatusTextChangeイベント辺り。
>>776
かぶったゴメソ。。
779775:03/04/25 20:41
長い間悩んでだのが馬鹿らしい。
mshtml.IHTMLDocument2がどうとかやってました。
ありがとう
それから%HHでエンコードしてるURLがうまく取れない罠。
昔委員長がはまってた。
素直にactiveElementのhrefを調べろよ
782デフォルトの名無しさん:03/04/27 20:36
IEのバージョンを取得する方法ってないですか?
前にも同じ質問がどこかで・・・
別プロセスで動いてるIEのIWebBrowser2を取得する方法を教えてください。
お願いします。
IEチンポーネントは
何度も流れるDocumentCompleateを一回だけ取得する方法ないですか。
>>786
HTMLDocumentのreadystateをdocumentcompleteでチェックすると良いみたい。

vb.netではbeforenavigate2が効かないバグがあるみたい。
788デフォルトの名無しさん:03/05/08 11:26
IE5で、QueryStatusWB()でOLECMDID_PRINTをチェックすると
OLECMDF_ENABLEDもOLECMDF_SUPPORTEDも返ってこないのですけれど、
これはやっぱり印刷は対応してないとみるべき?

ExecWBで正常に動いてるような気はするのですけど、サポートが完全じゃないとかなのかな。
あるフレームがRowで並んでるのか、Colで並んでるのか判断するにはどうしたらいいでしょうか。
javaゃactivexをむこうにするにはどうやったらいいのですか。
>>790
IInternetSecurityManager
NewWindow2イベントで移動先のURLを取得するにはどうしたらいいのですか。
>>791
難しい。。
793デフォルトの名無しさん:03/05/18 23:29
BHO Browser Helper Objects
望み通りのブラウザ

http://www.microsoft.com/japan/developer/library/jptech/MSDNNews/top.htm

IEツールバー あげ
794デフォルトの名無しさん:03/05/18 23:32
【WEBサイトの負荷テストを行うツールの作成】

ttp://www.hnes.co.jp/documents/itbox/backnumber.htm

WebBrowserコンポーネントでフルスクリーン表示にするにはどうすればいいんでしょうか?(Delphi)
<script language="JavaScript" type="text/JavaScript" src="http://hogehoge">
</script>
を使うとbeforenavigate2が発生しない
>>790
個々に設定したい場合はOnAmbientPropertyChangeで。
IInternetSecurityManagerはグローバルセキュリティの変更なので、
IEの設定も変わるし、タブブラウザを作る場合とかタブ毎の設定はできません。
>>792
多分その時点では無理。
とりあえず拾って、BeforeNavigate2で処理。
>>795
用意されてないので自分でやる。
アプリ(コンテナ)のタイトルバーとか全部消して最大化とか?
>>796
それはNavigateじゃないからだと思いますが。
imgタグとかと同等かと。
>>797
thanx
もうちょっと頑張ってみるか。
799デフォルトの名無しさん:03/05/23 17:16
MFCでCHtmlViewを使って、ウェブページを表示させることはできたのですが。
この表示を任意のCDCに対して描画することは可能でしょうか?

ご存知のかた、ご教授ください。
800デフォルトの名無しさん:03/05/24 18:31
任意のhttpサーバ下のファイル、ディレクトリ構造を取得することって
可能でしょうか?

例えば、
http://www.xxx.com
の下に、
image1.jpg,image2.gif,top.htm

というファイルが置かれている場合、それ(名称やプロパティ)を
取得できますか?(ディレクトリに関しても同様)

ftpサーバー上なら可能なのでしょうが・・・

もし取得できるなら、キーワード(ヒント)だけでも
教えていただければたすかります



>>800
できたら困るよ。
>>800
各ディレクトリにindex.*がなくて、ディレクトリ丸見え設定になっていれば可能かも。
本当は、801が言うように、出来たら困るのだけど。
IEコンポと関係ねーし。
804800:03/05/24 22:19
そうですよねー
これができたら、セキュリティ上ヤバイですよねー

やはり、ftpソフトと同じような動作でアカウントとパスワードを
設定して取得するしか方法ないでしょうか?
なにがやりたいんだ?
君が管理してるサーバーのindexを取得したいんならApacheの
設定ファイルを書き換えればいいよ。
絶対に出来ないと言い切れるの?
少なくともプロトコル上できないだろ。
FTPと違って。
WebDAVとか使えばできるだろ。
俺の頭脳なら約37.2分で可能だけどな
810デフォルトの名無しさん:03/05/27 01:33
これよさげ。

http://darksky.s21.xrea.com/sw/spyw/index.html
SpyIE.exe SPY for Webブラウザーコントロール
>SpyIEは、起動中のInternet Explorerを利用して、どのようなイベントを発生するかを監視するためのソフトウェアです。
>実際にInternet Explorerを使用して、いろいろなページを参照したり、操作することによりどのようなイベントが発生するかを理解するために使用することができます。

だって。
>>810
リンク先が違うのでは?

http://darksky.s21.xrea.com/sw/spy/index.html
text
813810:03/05/28 04:16
>>811
ほんとだアリガト。
814山崎渉:03/05/28 12:41
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
815デフォルトの名無しさん:03/05/28 23:03
MFCのIEコンポーネントでの制御でユーザーエージェントを
IE以外のものにしたい場合、どうすればよいのですか?
キーワードでもいいので教えていただければ幸いです
よろしくおねがいします
>>815
UrlMkSetSessionOption
817815:03/05/29 04:09
>>816
ありがとうございます
OnBeforeNavigate2Explorer1のほうで制御する方法があったら
教えてください
819815:03/05/29 15:10
いやUrlMkSetSessionOptionのアプローチについてはわかりました
ただ、リンク先(普通のIEで開かれてしまう部分)もユーザーエージェントを
制御したいので、もう少し上の部分で手をつけれないかなと・・・
820bloom:03/05/29 15:13
リンク先がIEで開かれてしまわないようにしましょう
822815:03/05/29 18:18
charuserAgent[256];
strcpy(userAgent,"USERAGENT");
HRESULT err = UrlMkSetSessionOption(URLMON_OPTION_USERAGENT,&userAgent[0],strlen(userAgent),0);

これを組み込みましたが、ユーザーエージェントはIEのままになってしまいます
どこがおかしい教えてください
823デフォルトの名無しさん:03/06/02 19:50
>>822
正しくないか?
824預言者:03/06/02 21:38
825デフォルトの名無しさん:03/06/02 22:59
質問なんですけどHTML(JavaScript)で簡単なプログラムのような物作れますか?
>>825
すれ違いな貴方には無理かもしれません。
>>825
作れます。
828デフォルトの名無しさん:03/06/03 18:17
>>826すれ違い住みません。
829デフォルトの名無しさん:03/06/03 18:21
>>825
マジレスすれば、HTMLではリンクを使ってプログラムっぽいものを作れる
JavaScriptは制限の多いプログラミング言語
> HTMLではリンクを使って
どこがマジレスなんだか。

制限があってもプログラミング言語はプログラミング言語。
プログラムっぽいものではなくてプログラムを作れる。
831デフォルトの名無しさん:03/06/03 19:29
>>830
なんでそんなにからんでくる?
HTMLはプログラミング言語とはいってないし、それでもプログラム的なものを作ろうとするならリンクを使えばいいということを書いた
JavaScriptはプログラミング言語といちおう書いてるし、あなたはJavaScriptしか使えない人?
おまえら他行け。
おまえら池行け。
>>832
スマンね
ここは間違いの解答も多いから訂正のレスがつくのもわかる
けれどそれが間違っていないと思ったら反論するのもいいと思ったからさ
HTA つー変なものがあるからねえ。
スレ違いで反論も糞もあるかボケ
837デフォルトの名無しさん:03/06/05 00:56
質問版なんだし
それほど密ってないんだから
初心者イジメはやめろよ
質問版って何ですか?
この板が質問板だと誰が決めたのですか?
ここが質問スレッドと誰が決めたのですか?

質問版だと、こんな質問にも答えてもらえますか?
839 :03/06/06 02:04
つーか、ここはプログラム板なわけで。
でも830の絡みは言いがかりに近いと思われ。
841デフォルトの名無しさん:03/06/10 18:45
2chブラウザみたいに
>>xxx
の部分にリンク張ったりするのどうするの?
いっぺん編集してから出力してる?

当方Delphiです。
>841
JaneのソースとかMonazilla.org(wの資料室とか見れば分かると思う。
>>841
たしか2chはデフォルトでリンク貼られてるよ。
844デフォルトの名無しさん:03/06/11 17:08
ブラウザコントロールをダイアログ上で
Createして使ってるんですが
かならずブラウザコントロールにWS_EX_CLIENTEDGEみたいな
非クライアント領域ができちゃうんですが
これを取り払うにはどうすればいいんでしょうか?

一応、ModifyStyleExとかでRemoveしてみましたが
検討違いのようで・・・
cssで
body { border: 0 }
>>842
分かりました。早速見てみます。
847デフォルトの名無しさん:03/06/26 22:38
ブラウザで右クリックしてメニューを選択したら
自作のアプリケーションにメッセージを送るようにしたいんですけど
参考になるサイトとかありませんか?
ナビゲートするときの音を鳴らさない方法ってありますでしょうか?
849デフォルトの名無しさん:03/06/26 23:28
>>848
コントロールパネルから音の設定
>>847
漏れも知りたい
850848:03/06/26 23:37
グローバルな設定を変えずにできないものでしょうか?
851なぜ・・・:03/06/27 01:36
WEBサーバ(IIS)上にワード文章を公開して
社内の人に閲覧してもらう仕組みを作ろうとしているのですが
あるクライアントがファイルにアクセスすると
勝手にファイルが消えてしまうのです。
普通のテキストファイルの場合には消えません。
IISのログを見ると
GETだけでいいのに・・・DELETEまでしています。
おいおい!!って感じでお手上げです。
知っている人がいたら教えてください。
PDFにでもして公開しようかなぁ。
>>851
スレ違い。
webdav止めるとかDELETE止めるとかすれば?
PDFにしたって関係無いよ。
哺種
以下の情報を含む、計5本の情報を5000円で売ります。
欲しい方はメールで。

http://page2.auctions.yahoo.co.jp/jp/auction/b37997811
http://page3.auctions.yahoo.co.jp/jp/auction/c37109748
http://page.auctions.yahoo.co.jp/jp/auction/d34164618
http://page.auctions.yahoo.co.jp/jp/auction/c37715536


情報はこの他に、オークション関係3本、ネット関係の話1本のセットです。
やる気のある方なら、少なくとも5000円の値打ちはあると思います。

入金先はジャパンネットバンク 郵便局 。確認出来次第メールします。
先着2名様まで
                        
            
855デフォルトの名無しさん:03/06/29 06:31
hosyu
856デフォルトの名無しさん:03/06/29 23:38
IEのショートカットをフォームにドラッグしたことを調べるにはどうしたらいいですか?
857デフォルトの名無しさん:03/06/30 03:40
>>856
普通のファイルのドラッグ&ドロップのイベントでいいんでない?
858_:03/06/30 03:56
859_:03/06/30 04:18
860デフォルトの名無しさん:03/06/30 15:55
>>857
COMコンポーネントとかあったような気がする。
漏れは知らんけどw
861デフォルトの名無しさん:03/07/01 22:26
>>860
IShellLinkだっけ?
862デフォルトの名無しさん:03/07/01 22:28
☆頑張ってまーす!!☆女の子が作ったサイトです☆
http://yahooo.s2.x-beat.com/linkvp/linkvp.html
863デフォルトの名無しさん:03/07/01 22:29
☆頑張ってまーす!!☆女の子が作ったスレッドです☆
http://pc2.2ch.net/test/read.cgi/tech/982930049/
864デフォルトの名無しさん:03/07/04 16:57
MFCを使ってMDIでブラウザを作り、エディットボックスに入力したURLを取得して
Navigateで飛ぶという、なんてことはないプログラムを作ったのですが
コンパイルは通っても、いざURLを入力して飛ぼうとするとエラーが起こって
落ちてしまいます。エディットボックスからのテキストの取得方法に
間違いがありそうなのですが、直し方がどうもわかりません。
ソースのほうが今手元にないので、本当はその部分のソースを
貼り付けたいのですが出来ません。
確か m_wndDlgBar.GetDlgItem(IDC_URL)->GetWindowText(url);
みたいな感じで取得していたと思います。(かなり記憶薄)

SDIの時は同じ方法でうまくいったので、MD用の何かがあるのではないかと
思い、Donutのソースなんかを参考に見てみたのですが全然わかりません。
本当に初歩の初歩で申し訳ないのですが、どなたかどこに何を書いたらよいのか
ヒントだけでもいただけないでしょうか。

>>864
エディットボックスからの文字列の取得が原因で落ちてるなら、
ここで聞くことではなさそうだけど・・・

まぁ、ブレークかけたりして、本当にそこで落ちてるようなら、
↓で聞いてみて

■ VisualC++(MFC限定)相談室 MFC8.dll■
http://pc2.2ch.net/test/read.cgi/tech/1056584836/
866864:03/07/04 22:42
>>865
試してみたら、エディットボックスからの文字列取得は出来ているみたいでした。
Navigate関数で飛ぶときに落ちてしまうようで

((CBrowserView*)GetActiveView())->Navigate(url);

の一文で落ちているっぽい事がわかりました。
「こんな一文だけ書かれたってわかんねーよ」とか言われそうですが
あとどんな情報を提示すればよいのかわからないもので・・・。

MDIでも指定URLへ飛べるようにするにはどこを改善すべきなのでしょうか。
(もしかしてこれもスレ違いになるのかな?^^; )
>>866
SDIで出来てるなら、GetActiveView()が取れてなくてNULLだとかいうオチじゃないか?
868864:03/07/05 02:07
>>867
出来ました!MDIだと普通にGetActiveView使うとNULLが返ってくるんですね。
分かってしまえば簡単な事で、なんでこんな事にも気づかなかったんだろ・・・。
しかもスレ違いで恥ずかしい限りです。本当にどうもご迷惑おかけしました。
869デフォルトの名無しさん:03/07/05 13:35
IEがHTMLをレンダリングした結果を、ビットマップで取得する方法って
有る?
もちろん、画面キャプチャじゃなくて。

以前、Infoseekかgooがやってたみたいに、サイトのサムネイル画像を
自動取得したいんだけど。
画像が欲しいんだったらサイトの画像を取得すればいいんじゃないか?
>>869
IExtractImage
872869:03/07/05 19:44
>>871
ありがと。
それ調べてみるよ。

ところで、なんで分かったの?
MSDNのリファレンスを1個1個見ていったんじゃないんでしょ?
調べ方のヒントが有れば教えて欲しい。
>>872
ドキュメントを1つ1つ見ているんだよ。
>>872
このスレを頭から読むことをすすめる。
みんな、色々やってたyp!
>>872
リファレンスくらい、大した量じゃないんだから、目を通しておけ。
一字一句読まなくても、どんな機能があるか目を通しておけば、ここで単純な質問をする手間も無くなるぞ。
876山崎 渉:03/07/15 10:11

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
877デフォルトの名無しさん:03/07/15 19:54
JavaScriptの実行を無効にしたいのですが良い方法はありませんか?
IEのツールバーをなんとか使う方法はありませんか?
>>878
HTMLを埋め込んで外部操作。
880デフォルトの名無しさん:03/07/23 02:28
MFCでIEコンポーネントを利用したプログラム(単純にWEBをはめ込み表示)
を作成しているのですが、個々の環境のIEのバージョンに依存したくないので、
必要なDLLなどをアプリ本体に埋め込みたいのですが、何かいい
手はないでしょうか?

アドバイスよろしくおねがいします
>>880
IE4しか入ってないのに6以降の機能を使いたいとかそうゆうこと?
必要なDLL多いし、レジストリ登録もあるし、元々の環境壊さずとかなったら、無理。
第一、やったらMSに訴えられるおそれ有り。
IE以外のコンポを探すべし。
>IE以外のコンポを探すべし。
Geckoベースのブラウザを作ろう。
http://pc2.2ch.net/test/read.cgi/tech/1023546699/
883880:03/07/23 21:40
参考になりました、あきらめます
ありがとうございましたー
884デフォルトの名無しさん:03/07/24 16:12
すれ立てるまでもない質問スレから誘導されました。
VB6.0でWebBrowserコントロールを貼り付けて処理をしています。

Form_Loadに WebBrowser.Navigate "about:blank" を書き、
WebBrowser_DocumentCompleteで
WebBrowser.Document.body.Style.innerHTML = _
       "<textarea id='text1'>ほげほげ(実際は1KBくらいの文字列)</textarea>"
を書いているのですが、WebBrowser.Document.body.Style.innerHTML
の反映が物凄く遅い(内容が表示されるまで10秒前後かかる)のです。
textarea 内の文字列をなしにするとすぐに反映してくれます。
この原因は何でしょうか? また、これは回避できるものなのでしょうか?
どうか宜しくお願いします。
>>884
関係無いかもしれんが、
WebBrowser.Document.body.Style.innerHTML
っておかしくないの?
WebBrowser.Document.body.innerHTML
じゃない?
886884:03/07/24 20:27
>>885
すみません、打ち間違いでした。
887あぼーん:あぼーん
あぼーん
888あぼーん:あぼーん
あぼーん
保守
>>887-888
昔はこんなバカはム板にはいなかったもんだがなあ。
>>890 夏だからねw
もう全部夏のせいにして思考停止w
MSNメッセンジャーVer6から、
アプリが追加されたけど、
このアプリを自作するための仕様って公開されてるのかな?
894893:03/07/30 08:33
ぐは、誤爆しますた
monazilla BBS に書いたんですけど、反応無いのでちょいと質問。
向こうも読んでいる方にはマルチになります。すいません

Delphi6 Pro 使ってます。TWebBrowser よりは、EmbeddedWB を使った方がいいと言われ、
EmbeddedWB をインストールしようと思いましたが、TWebBrowser があるせいで
インストールエラーが起きたので削除してからインストールしました。インストール方法は
これでよろしかったのでしょうか?

あと、EmbeddedWB.pas の中で MSHTML_tlb と SHDocVw_tlb が use されているのですが、
これを MSHTML と SHDocVw に変更しても問題無いでしょうか?

もうひとつ、ActiveX のコンポーネントパレットの所を見ると物凄い数のコンポが入りましたが、
これは何でしょうか?(((( ;゚Д゚)))
896884:03/07/30 15:29
_ト ̄|○
897895:03/07/30 15:39
>>896
あぁ…。俺 VB よく知らないんだけど、こうじゃ駄目かい?
WebBrowser.Document.write( "<textarea id='text1'>ほげほげ(実際は1KBくらいの文字列)</textarea>" )
>>884
漏れも使ったことは無いが、window.offscreemBufferingを調べるとよろしいかと。
typoった(汗
offscreenBufferingな。
900あぼーん:あぼーん
あぼーん
901あぼーん:あぼーん
あぼーん
902あぼーん:あぼーん
あぼーん
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
904884:03/07/30 16:31
>>897
8.62秒:8.44秒でした。
>>898-899
ヒントありがとうございます。調べてみます。
>>904
IEコンポーネントはVBSでちょっと触っただけなので、
見当違いのレスかも知れんが、

textarea内の文字列をなしにするとすぐに反映されるなら、
textareaをつくってから、そこに文字列を書いたらどう?


906あぼーん:あぼーん
あぼーん
907あぼーん:あぼーん
あぼーん
908あぼーん:あぼーん
あぼーん
909あぼーん:あぼーん
あぼーん
910884:03/07/30 17:55
>>レスしてくださった皆様
あっちこっち修正して半分弱まで抑えきることに成功しました。
どうしてもダメなトコは他の処理を並行でやって誤魔化します(;´∀`)
>>905
textareaのスタイルをいじるのでそのときにinnerTextで文字列を入れるように
してみました。

あとおまじない程度にtimeBeginPeriod(1)を入れてみました。
なんか凄いようです。
http://pc2.2ch.net/software/kako/1042/10422/1042285221.html
>>320以降と
http://pc3.2ch.net/software/kako/1041/10410/1041058846.html
>>582以降及び>>817以降

多くのレスが貰えて嬉かったです。皆様ありがとうございました。
911895:03/07/30 21:20
で、>>895 解る方いませんか?
>895
ttp://www.euromind.com/iedelphi/getting_started.htm
ここ読むと、
最初から入ってるShDocVwとMSHTMLは外して、
ShDocVw_TLBとMSHTML_TLBを取り込むのを推奨。って書いてある気がするけど、
英語苦手だから違うかもしんない。
あとEmbeddedWB使うなら、
このサイトのTEmbeddedWB関連は一通り目を通しておいた方がいいかも。
でないと無駄に悩む羽目になりかねない。

ActiveXタブのは、TInternetExplorerとかの事言ってるなら、
IE操ったりとか。
913山崎 渉:03/08/02 02:23
(^^)
914895:03/08/02 04:54
>>912
レスありがとう

ShDocVw_TLB と MSHTML_TLB どうも好きじゃないんだよね。
これ、Pro 以上には _TLB 無しが標準で入ってくるから、
TWebBrowser 消して、ActiveX コントロールをコンポとして
入れる時に自動生成されたんだけど、その時に Delphi が
固まった感じになったんだよね。で、Imports ディレクトリ見たら、
MSHTML_TLB.pas が 9MB だったw

> ActiveXタブのは、TInternetExplorerとかの事言ってるなら、
> IE操ったりとか。

最初コンポパレット見たら、凄い数のアイコンが出てたのでバグったか?
と、思いましたが、それっぽい名前が出てますねぇ…。多分使うことないと思うが
Thread keep...
916イベントシンク:03/08/06 22:42
  EventSinkについての質問です。

  Code Guruのhttp://www.codeguru.com/ieprogram/dhtmlhook.htmlにある
 サンプルプロジェクトを実行してみたのですが、コンパイルエラーやリンク
 エラーで実行できませんでした。
  しかしコメントを読み、なんとかエラーはなくなり実行はできたのですが、
 どうしてもInvokeでイベントをキャッチしてくれません。正常に動作させる
 方法をご存知の方がいたら、アドバイスをいただけませんか。
>916
あんま詳しくないけど、
イベントを受け取るためにIDispatchを実装したクラスを用意して、
IConnectionPointContainer::FindConnectionPointと
IConnectionPoint::Adviseを使えばInvokeメソッドでイベントを受け取れるはず。
あと、この辺が参考になるかも。
ttp://www.eu.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdnguion/htm/drgui082399.asp
918デフォルトの名無しさん:03/08/13 19:44
CHtmlViewを使ってページを表示して、その内容を丸ごと保存したいのですが、
下の方法でそのまま保存は出来ました。

http://216.239.57.104/search?q=cache:rXPLfATVHocJ:n76cd-01p05.ppp11.odn.ad.jp/old/a3975.html+m_pView-%3EGetHtmlDocument()&hl=ja&ie=UTF-8
--------------------------------------------------
ファイルに保存する例です。
#include <comdef.h>
#include <afxpriv2.h>
void CXXXXDoc::Serialize(CArchive& ar)
{
 if (ar.IsStoring()) {
  IPersistStreamInitPtr pPersistStmInit;
  // HTMLドキュメントのIPersistStreamInitを得る
  pPersistStmInit = m_pView->GetHtmlDocument();
  if ((bool)pPersistStmInit) {
   CArchiveStream stm(&ar);
   pPersistStmInit->Save((IStream*)&stm, VARIANT_TRUE);
  }
 }
}
IEでいうところの「完全」な保存ではありません。
あれをやるには、IHTMLElementをたぐっていかないとできないと思います。
--------------------------------------------------

で、IEでリンクもローカルなものに自動的に変更して保存しているのを
やりたいのですが、これは上で書いてあるように自力でhtmlのリンクを
解析する必要があるのでしょうか?
お手軽な関数とかが用意されているのであればそれを利用したいのですが。
よろしくお願いします。
919v:03/08/13 19:45
お色気たっぷりなんですがどこか可愛らしさが漂う綺麗な人妻です。
スレンダーなボディーが更に色気を倍増させている気がします。
じっくり見つめながらフェラをし、小さめのオマンコに男根を導いていきます。
こういう年の取り方をしたいですね。
無料ムービーからどうぞ
http://www.excitehole.com/
920山崎 渉:03/08/15 15:31
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
WebDAVとか使えばできるだろ。
922デフォルトの名無しさん:03/08/17 16:24
WinInetを使用してHTTPサーバと情報をやり取りするプログラムを
作成しています。(VC++ 6.0です。)
そこで使用している、CHttpFile::EndRequestメソッドについて
質問があります。

アプリでは、OpenRequestにて、HTTPにPOSTで接続し、
その後、
@SendRequestEx
AWriteString
BFlush
CEndRequest
で要求を送信し、

その後、サーバからの回答をReadしています。

ほとんどの場合は正常に動作するのですが、まれに、CのEndRequest
で固まってしまうことがあります。(try〜catchでも捕まらない・・・)

そもそも、上記Bのメソッドは、何のために呼ばれているのかが
よくわかりません。
サーバ⇔クライアントのパケットをキャプチャしてみたのですが、
@のタイミングでHTTPヘッダ送信、
Aのタイミングでアプリからのデータ送信
を行っているようですが、Cのタイミングではサーバに対し、何の
通信もしていないようでした。

この、EndRequestは、何を持って成功としているのか?
また、どんなときにエラーとなるのか?
をもしご存知の方がいましたら、教えてください。
TWebBrowserとMSHTMLを使ってプログラムを書いているのですが、
フレームのあるページをロードした場合、フレームのdocumentオブジェクトを
取得しようとするのですが、うまくいきません。

処理の方法としては、
1.メインのIHTMLDocument2.framesを呼んで、IHTMLFramesCollectionを取得する。
2.IHTMLFramesCollection.itemメソッドを呼んで、IHTMLWindow2オブジェクトを取得する。
3.IHTMLWindow2.documentでIHTMLDocument2オブジェクトを取得する。
です。
3を実行する前に、監査式でIHTMLWindow2.documentの値を見ると、nilになっています。
(実際にそのフレームに、HTMLが表示されているにも関わらずです。)
その後3を実行すると、EOleExceptionが発生してしまいます。
(確かアクセス権がないとか書いてあったと思います。)

フレームのドキュメントの取得方法について、知っている方がいれば教えてください。
>>923
アクセス権が、とか出るならたぶんフレームの中が別ドメインなんじゃない?
>923
俺も試してみたら、フレームの中が別ドメインだと'アクセスは拒否されました。'とか出た。
DelphiならTEmbeddedWBのGetFrameメソッドだと、試した範囲では別ドメインでも取得出来たよ。
926デフォルトの名無しさん:03/09/02 13:07
Webサーバ(Win2K AdvancedServer)数台に対して、IISが正常に起動しているか、
Webからちゃんとアクセスできるか確認するプログラムをVBで作ろうとしてます。
WebBrowserコントロールを使って各サーバのトップ画面を呼出して、返ってくれば正常、
来なければ異常と見なそうとしているんですが、この時、WebサーバのWindowsログイン
認証で引っかかります。
ユーザIDとパスワードだけなら
http://(ユーザID):(パスワード)@aaa.bbb
で通るんですが、ドメイン認証がわかりません。
教えてください。

ちなみに正常/異常の戻り判定できるんだろうか・・・?

もし上記方法以外のもっといい手段があれば教えてください。。
お願いします
927navi:03/09/03 19:38
OnBeforeNavigate2 で URLを変更できるとドキュメントにあるのですが、実際に変えてみても元のURLに飛んでしまうようです。
なんでだろう?
928navi:03/09/03 19:47
それから <img src="hogehoge.jpg"> なんかのDownloadのEventを捕まえることは可能なんでしょうか?
>>928
(゚∀゚)可能
930デフォルトの名無しさん:03/09/10 10:30
C#でIEコンポーネントを使ってプログラムを作り始めたものです。IEコンポーネント
を使うといっても、ネットワーク(ローカルネットも含め)にアクセスするつもりは全くな
く、リンク機能が便利そうだから使っています。

ここで一つ質問です。HTMLのボタンをおしてsubmitが送信されたとき、発生する
イベントを教えて頂きたいです。要するにBeforeNavigate2のsubmit版を知りたい
というわけです。

甘えるな!!、とか、過去ログ読め!!、という答えが返ってきそうなんですが。
よろしくお願いします。
>>930
submitでもBeforeNavigate2は発生すると思うが。
932デフォルトの名無しさん:03/09/17 19:09
激しく初歩の質問ですいません。
VS.NETでIEコンポーネントってどうやって追加するのですか?
プロジェクト→コンポーネントの追加だとでてきません。
ヘッポコですいません。宜しくお願いいたします。
ツールボックスを右クリックしてカスタマイズ
COMのタブにIEっぽい名前のがあるからそれにチェック
ダイアログを閉じてIExplorerのアイコンが出ればOK
934932:03/09/18 12:23
>>933さん
有難う御座います。
おかげさまで出現しました。Explorerという名前で
いいんですよね。地球の。
935933:03/09/18 12:39
>Explorerという名前
あ、そうだったスマソ
936デフォルトの名無しさん:03/09/20 14:29
VB5でIEの履歴を取得したいのですがどうしたらよいでしょう?
ブラウザ機能は組み込まないプログラムから、IE系のブラウザで現在見ている
ページのURL(最後に訪問したURL)を取得したいと思っています。
Historyフォルダの下の最新のindex.datを直読みして取得しようとしたのですが、
どうも最後の履歴はどこかにキャッシュされているらしく
すぐにはファイルに反映されないので、正式?な手順で取得しないと駄目なようです。
コンポーネントの操作等で取得できますでしょうか?
過去ログを見た限りでは、CであればIUrlHistoryStgあたりで取得できそうなのですが
VBではどのように扱えば良いのかが判りません。
もしくは履歴データを見るのではなく別のアプローチで
現在ブラウザで見ているURLを取得する方法がありますでしょうか?
取得方法や参考ページ等をを教示頂けるとうれしいです。
よろしくお願いいたします。
>>936
VB5はさすがに古くて分からんなあ。
IUrlHistoryStgはCOMだからVBからでも使えるけど、VB5しか持ってないなら
idlファイルが無さそう。
>>936
>IE系のブラウザで現在見ているページのURL(最後に訪問したURL)を取得したい

現在見ているページのURLを取得したいだけなら
「Microsoft Internet Controls」を参照設定して、
Dim v, sw As New SHDocVw.ShellWindows
For Each v In sw
Debug.Print v.LocationURL
Next v
939デフォルトの名無しさん:03/09/21 23:56
>>937-938
ありがとうございます。
938の方法でIEのURLは取得することが出来ました。タイトルも取得できて便利。
ただIEのコンポーネントを利用しているタブブラウザの情報は取れないみたいですね。
最近はタブブラウザの愛用者が多そうだからなぁ。
VBをバージョンアップするなりVC++に乗換えるなりして
履歴を参照する道を探った方が確実なのかな?
>>939
目的がイマイチはっきりしてないからどれがお勧めか分からんなあ。
一番最後に読み込んだURLとなると、IUrlHistoryStgは時間順に取ってくるとか
できないから総ナメになるよ。
履歴100日とかの設定してる人もいるから「遅え!」て言われる場合もあると思う。
そういやーgif問題ってどうなったのよ?
いまだにIEコンポ入りのソフトだめなの??
あと9ヵ月の辛抱
943デフォルトの名無しさん:03/09/24 16:06
WinXP SP1
VC6.0を使用しています。

IWebBrowser2::Navigate2 でローカルフォルダ(C:\など)を表示させ、
10秒ほど待ってからアプリを終了させると、
ウィンドウは消えるのですが、アプリ自身は終了せずに常駐してしまいます。
(タスクマネージャで確認)

Webページを表示させる場合は再現しないので、
ローカルフォルダ表示の場合には特別な終了処理などが必要なのでしょうか?

以下のページにあるサンプルコード(iwebbrowser2.lzh)でも再現します。
http://www.nitoyon.com/vc/tips/ie_component.htm

よろしくお願いします。
>>943
WinXP SP1とWin2k SP4で、
リンク先のiwebbrowser2を試したが、
特に何の問題もなかった



945943:03/09/24 21:17
私の環境では、10回に9回は再現するので、
環境依存なんですかね?

ちなみにIE6.0SP1で、
OSはXP のPro版です。
946c ◆.AjXxeRXqw :03/09/25 16:24
基本的な質問で恐縮ですが、
あるページを参考に以下のソースを書いたのですが、

IHTMLDocument2 document = (IHTMLDocument2)axWebBrowser1.Document;

型または名前空間名 'IHTMLDocument2' が見つかりませんでした。ディレクティブを使うかアセンブリ参照を使ってください。

となってしまいます。
参照設定にはMicrosoft.mshtmlは追加してあります。
usingなどの設定が必要かなと想像しているのですが、
イマイチ理解できずに悩んでおります。

基本的なことで申し訳ありませんが、ご指摘お願いします
>>946
間違ってないと思いますが。
VSがヘンでたまに参照解決できない時があるので、
ReleaseとDebugのコンボボックスを切り替えてコンパイルするとエラー出なくなったり
しますよ。
using mshtml;
または
using SHDocVw;
949943:03/09/25 21:47
自己解決しました。
case WM_DESTROY :
の直後に以下のコードを加えれば、
(何故か)正常に終了するようになりました。

CComQIPtr<IOleObject> pioo;

pioo = pWB2;
pioo->Close(OLECLOSE_NOSAVE);
pioo.Release();
950c ◆.AjXxeRXqw :03/09/26 00:14
using mshtml;を加えたところ名前解決できないとのエラーがでました。

しかし、参照追加設定で .NETタブの「Microsoft.mshtml 」を参照ではなく、
COMタブの「Microsoft HTML Object Library」に変えたところ解決できました。

mshtmlをusingするので「Microsoft.mshtml 」かと思っていましたが、違うんですね。
(このライブラリ名は紛らわしいですね。それをちゃんと調べれない私もダメですが)

>>947 >>948
ご指摘ありがとうございました。

951c ◆.AjXxeRXqw :03/09/26 00:32
ついでに聞いて申し訳ありませんが、
mshtmlとSHDocVwの違いって何なのでしょうか?
9523com:03/09/26 07:29
WinInetにてブラウザを開発しましたが、使用したPCでIEの不具合が発生しました。
IEで新しいウィンドウでリンクを開こうとすると、ウィンドウが開いた時点で、止ま りページが表示
されなくなります。一旦中止ボタンで中止し、更新するとURLが表示されるのですが、
止まってる時点でURLは表示されません。オフラインでは問題なく新しいウィンドウでも
表示できるので、新しいリンク先URLに飛ぶ時に問題が発生しているように思います。
このような症状についてわかる方いらっしゃたらよろしくお願いします。
WindowsXPでIE6の環境です。
「IEが特許侵害」評決、波紋はどこまで?
http://www.zdnet.co.jp/news/0308/18/ne00_browser.html

今の今まで知らなかったが・・・
誰だよこんなウンコな特許認めたやつぁ

>>952
言ってる意味がわからん。
URLが表示される/されないって具体的にどんな動作よ。
9543com:03/09/27 02:35
アドレスバーにURLが出ないのよ。新しいウィンドウの。
XPの場合、なんか新しいウィンドウで開くときにひっかかる感じで
すっきり出てこないじゃない?通常でも。
それがひっかかったまんまでページが表示されない状況ですわ。
でアドレスバーにURLがでてこないままで、一旦中止、更新すれば
出てくるって感じ。
955cs:03/09/27 05:31
ある認証ページのユーザIDとパスワードを自動で入力させ、
SUBMITボタンも自動で押すプログラムを作りたいと思っています。

一応、下(>>956)のコードで実現できています。
しかし、改良の余地は大きくあるように思えてしょうがありません。

下(>>956)のソースはinput項目を全部抽出し、ループさせて対象の項目を探しますが、
ループせず、直接、対象のinput項目(例ではid)を指定し、値をセットする方法はどのようにすればよろしいでしょうか?
やはり、最初から検索するしかないのでしょうか?
956cs:03/09/27 05:32
mshtml.HTMLDocument myDocument = (mshtml.HTMLDocument)axWebBrowser1.Document;

try{
mshtml.IHTMLElementCollection cAtags = myDocument.getElementsByTagName("input");

IEnumerator ee = cAtags.GetEnumerator();
while(ee.MoveNext()) {
mshtml.HTMLInputElementClass htmlInput = (mshtml.HTMLInputElementClass)ee.Current;

if(htmlInput.IHTMLInputElement_name.Equals("id")){
htmlInput.value= "testuser";
}else if(htmlInput.IHTMLInputElement_name.Equals("passwd")){
htmlInput.value= "testpass";
}
}

}catch(System.NullReferenceException err){
//省略
}finally{
IHTMLElementCollection forms = myDocument.forms;
IHTMLFormElement form = (IHTMLFormElement)forms.item(1,0);
form.submit();
}
957デフォルトの名無しさん:03/09/27 15:43
WebBrowserコントロールで画像は読み込ませないようにする(テキストのみのブラウザ)にする
方法を調べているのですが、ぜんぜん糸口が見えず苦悩しております。

どなたかお知恵を頂けないでしょうか?

↑マルチかよ
959デフォルトの名無しさん:03/09/28 11:42
Delphiなんですが、
HTMLのソースを参照するにはどうすればいいでしょうか?
960デフォルトの名無しさん:03/10/17 07:04
Webオブジェクトの中にWebページを表示させたとき、
Webページ領域にくぼんだような外枠がでてしまいます。
これを消す方法はありますでしょうか?

よろしくお願いします。
     /\___/ヽ 
    /    ::::::::::::::::\
    |  ,,-‐‐   ‐‐-、 .:::| 
   |  .゙  ̄"  |゙ ̄ " :::|   なんだかよく分からないけど
    |     ` '    ::|   ここにティッシュ置いときますね。
    \  ヽニニ='  ::/
    /`'ー‐---‐一'´\
   /         ::::i  ヽ
  |   |       :::;;l  |
 ̄_|,..i'"':, ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  |\`、: i'、
  .\\`_',..-i
   .\|_,..-┘
>>960
body.style.borderをnoneに設定する
963デフォルトの名無しさん:03/10/18 07:40
>>962
ありがとうございます。助かりました。
>>739
拡大縮小の方法を希望
965 :03/10/19 13:45
width=1500
height=2800
966デフォルトの名無しさん:03/10/20 14:38
選択範囲のソースを取るのにhtmltextプロパティを使いますが、
途中なので<HTML>が付きません。それぐらいなら良いのですが、<TABLE>の途中だったりする場合もあります。
IEに適当につじつまをあわせてもらえると便利なんですが、そういうの無いですかね
自分でDOMを操作しなくちゃいけないんでしょうか?
967966:03/10/20 14:46
と思ったら、それがcreaterangeの役目だったのか。
968デフォルトの名無しさん:03/10/23 19:29
>>877
私もこの方法知りたいです。。(´・ω・`)
誰か知ってる人プリーズ!
>>968
つーか言語の申告もせずに訊かれてもなあ。
「DLCTL_NO_SCRIPTS」というキーワードを差し上げるので後は頑張れ。

>>969
助かりました(´▽`)
971デフォルトの名無しさん:03/11/09 09:39
age
WebBrowser で開いているドキュメント内にある
Flash のオブジェクトが直接CGIなどと通信していることを知る術はありますか?

ちなみにVB6使ってます。
973デフォルトの名無しさん:03/11/22 13:59
netstat
974デフォルトの名無しさん:03/12/07 02:42
VC++を使用しています。
ページの任意の位置にスクロールしたいと考えているのですが
どのようにすればできるのでしょうか?

現在、BODYのIHTMLElement2を取得して
get_scrollHeight()で最大のスクロール幅は取得できたのですが。
この辺どう?言語違うけど
http://hogehoge2001.at.infoseek.co.jp/note-delphi.html
>>975
できました。ありがとうございました。
977デフォルトの名無しさん:03/12/09 17:28
またスクロールネタになるけど・・・。
スクロールのイベント拾うにはどうすればいいんでしょう?。

言語はVCです。
>>977
VBだけど、

'----------Form1.frm----------
Option Explicit
Dim WithEvents win As HTMLWindow2
Dim i As Long

Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
 Debug.Print "NavigateComplete"
 Dim wb As WebBrowser_V1, doc As HTMLDocument
 Set wb = pDisp
 Set doc = wb.Document
 Set win = doc.parentWindow
End Sub

Private Sub win_onscroll()
 i = i + 1
 Debug.Print "win_onscroll"; i
End Sub
979977:03/12/09 22:22
>>978
サンクス!
参考にしてやってみたらできますた!
980デフォルトの名無しさん:03/12/10 15:21
質問です。
自作ブラウザでイメージ ツールバーを有効にする方法はありますか?
こんな奴です↓
ttp://www.microsoft.com/japan/ie/using/howto/customizing/phototoolbar.asp
よろしくお願いします。
980超えたし、次スレどうするよ?
次スレタイトル案 その1
【IEが】IEコンポーネントを使い倒す駄スレ2【タブブラウザ化?】