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

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

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001IUnknownNGNG
=====================================

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

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


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

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

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

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

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

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

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

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

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

Public WithEvents MyObject As MSHTML.HTMLBody

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

命令もなにも・・・デバイスコンテキスト取得してコピーするだけだと思うが
0108デフォルトの名無しさんNGNG
>100
COMでっつーのは無理じゃん?よく氏らねーけど。でもオートメーションってことなら
手は、ある。
0109IUnknownNGNG
>100
COMでというのはどういう意味でしょう?
開発言語はなんですか?

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

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

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

>>122
思いつく限り。
IHTMLFrameElement->QueryInterface(IHTMLDocument2)とか。
IE5.5以降なら、IHTMLFrameBase2があるんで、IHTMLFrameBase2->contentWindowで
IHTMLWindowが取れて、IHTMLWindow->get_document()できそうですが、IE5だと、
IHTMLFrameBase2がありません。
0124デフォルトの名無しさんNGNG
泥臭くて恐縮ですが、document.all.tags('FRAME').item(n)をnを変えながら
document.activeElementと比較して、あたりのnの値でdocument.frames.item(n)
を呼んでやるというのはどうでせうか。
0125デフォルトの名無しさんNGNG
名前が保証されてるならdocument.all.tags('FRAME').item(n)でなくて
直接document.frames.item(n)でもいいかもしれません。
0126118NGNG
>>120
重かったっけ?
当方、PenIII-933+Memory(SDRAM) 1G。特に重いと思ったことは無いです。
0127デフォルトの名無しさん NGNG
age
0128IUnknownNGNG
>>124、 125
Cでオートメーション呼び出しって結構面倒なのでは?
0129119NGNG
>>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の値を見ると、目的のフレームと
一致しています。
もう一歩だと思うのですが…
0130デフォルトの名無しさんNGNG
HtmlViewではなくて、
ActiveXコントロールオブジェクト MS Web Browser
で103〜106あたりを実現するほうほうありますか?
CWebBrowser2クラスをつかって
0131デフォルトの名無しさんNGNG
HtmlViewクラスを用いずに、
ActiveXコントロールオブジェクトの「Microsoft Web Browser」
オブジェクト&CWebBrowser2クラスで103〜106あたりを実現する
方法はありますか?
教えてください
0132デフォルトの名無しさんNGNG
IEコンポーネントを使いIEを倒すスレ
0133デフォルトの名無しさんNGNG
MS Web Browserオブジェクトを用いて表示させたブラウザ画面の
イメージをCBitmap(要するにビットマップイメージとして)に
取り込みたいのですが。
ただし、そのウィンドウ&ブラウザ画面は非表示のままで。
(すなわち、本当はダイアログウィンドウは不要なのですが、
MS Web Browserオブジェクトを貼り付ける都合上作成)

何か方法はないでしょうか?
0134デフォルトの名無しさんNGNG
IEのコンポーネントからSSLで通信する部分だけ利用するってことはできるんでしょうか。
View部分とかはIEのものは使いたくないんですが・・。
ご教示ください。
0135デフォルトの名無しさんNGNG
WinInet?
0136107番についてNGNG
107について、非表示のデバイスコンテキストをビットマップに
取り込むのは無理ではないか?
あるいは表示状態でも、上にIMEのフローティングパレットなどが
のっていると、それも一緒にビットマップに取り込まれてしまうような
気がする・・・
0137デフォルトの名無しさんNGNG
メタファイルに印刷できれば??
0138デフォルトの名無しさんNGNG
質問です
ダイアログでWeb BrowserオブジェクトでIEのWebページを表示できますが、
これを画面に表示しないで、ビットマップイメージを取得する方法
ありますか?
教えてください
0139デフォルトの名無しさんNGNG
httpのエラーコードを取得するにはどうすればいいんでしょうか
0140デフォルトの名無しさんNGNG
質問です
ダイアログでWeb BrowserオブジェクトでIEのWebページを表示できますが、
これを画面に表示しないで、ビットマップイメージを取得する方法
ありますか?
教えてください
0141デフォルトの名無しさんNGNG
質問に答える人がいないようです。終了ですか?
0142デフォルトの名無しさんNGNG
答えてみよう。

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

文字の大きさも画面とは違うサイズで表示されたようですが、IViewObject::Drawの方で
出力デバイスを細かく指定してやればうまくいくかも。
とりあえず、このあたりから探っていけば出来るかも、ということで。
0143デフォルトの名無しさんNGNG
IEコンポーネントをコピーするにはどうすればよいでしょう?
IEだと Ctrl+N で別ウィンドウが立ち上がって、そこには
「戻る」他の情報もコピーされてるんで、できないことはないとおもうんだけど
0144デフォルトの名無しさんNGNG
コピー? ヒストリがほしいだけ?
0145デフォルトの名無しさんNGNG
ありがとうございます
>>142
そもそも、そのあたりを掘り進んでいくためには
どのへんの資料、リファレンスをみればよいのでしょうか
0146デフォルトの名無しさんNGNG
>>145
googleでOleDrawを検索すると、Delphiで試みられた例が出てきますね。
あとMS(US)のサイトでOleDrawとかIViewObject::Drawで検索すれば、
いろいろ参考になるものが出てきます。
0147デフォルトの名無しさんNGNG
IHlinkTarget を QueryService か QueryInterface して、
GetBrowseContext したのを Clone して新しいほうに
SetBrowserContext するの >>143
0148デフォルトの名無しさんNGNG
OleDraw は WebBrowser コントロールのを呼ぶか、get_Document
した先の Document のを呼ぶか、とかでも動作が異なったと思う。
0149デフォルトの名無しさんNGNG
>>147
どっからQIしていけばいいの?
get_Document -> IHlinkTarget -> GetBrowseContext
で辿ってったら、IHlinkBrowseContext* にNULLを返されました。
コントロール相手だと駄目なのかな。
0150デフォルトの名無しさんNGNG
>>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);
--------
0151150NGNG
忘れてた。
#include <hlink.h>
も入れとくべし。
0152デフォルトの名無しさんNGNG
ある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関数のように、任意の位置に表示させる方法ないでしょうか
教えてください
0153デフォルトの名無しさんNGNG
Delphi だとhlinkがつかえん...
だれかなんとかしてたもれ
0154デフォルトの名無しさんNGNG
>>153
自分でなんとかせぇや
0155152NGNG
そこをなんとか教えていただけませんか
一日中また、やりすごしてしまいました
0156デフォルトの名無しさんNGNG
>>152
まともなやりかたはないと思うよ。多分。
HOOKするしかないんじゃない。
0157150NGNG
>>152
Document相手ではなく、IWebBrowser2か、CHTMLViewのExecWBで
OLECMDID_PRINTPREVIEW を実行すれば良いと思われ

>>151
#include <hlink.h> は150のサンプルには無関係でした。
149=150で、おんなじプログラムで実験してたんで、混ざった。
0158157NGNG
コードをコピペして試してみたけど、ダイアログにコントロール張った
プロジェクトでは、ダイアログの大きさに合わせてプレビューが表示された。
メインか親ウィンドウか何かにサイズを合わせるみたいなんで、
そこんとこでなんとかならんもんだろうか?
0159デフォルトの名無しさんNGNG
url ファイル(インターネット ショートカット)を
IEコンポーネントで開く正しい方法って何?
つい、INIファイルとしてURLを取り出しちゃうんだけど...
これって間違ってるような気がする
(フレームの中身までは対応できないし。一個ずつ解析ってのも...)
0160デフォルトの名無しさんNGNG
>>159
もう遅いかも知れんが、
ttp://nt.sakura.ne.jp/~miwaki/progtips/shortcut/getlink.shtml
と
ttp://nt.sakura.ne.jp/~miwaki/progtips/shortcut/createin.shtml
を組み合わせれば、インターネットショートカットのリンク先を
取得することはできる。フレーム対応は俺も知らん。
0161159NGNG
ありがと。
でも、それだと「履歴」フォルダとか解析できない...同じ方法じゃあだめなのか?
0162デフォルトの名無しさんNGNG
MFCのWebBroserオブジェクトで、Navigate()などを使って
Webページを表示しますが、「カチ」とクリック音が鳴ってしまいます。
これをオフにする方法はないでしょうか?
どうか教えてください
0163デフォルトの名無しさんNGNG
hage
0164デフォルトの名無しさんNGNG
mage
0165マルチNGNG
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
といった感じだと思う。
(一昔前に解析した)
0166デフォルトの名無しさんNGNG
>>162
ボリュームミュート
0167デフォルトの名無しさんNGNG
150の件なのですが、
Webブラウザオブジェクトが不可視状態(ShowWindow(SW_HIDE))のときは
OleDrawしても、何もドローされませんね
元のWebブラウザオブジェクトは不可視で、裏で処理したい場合
どうすればよいのでしょうか?
0168デフォルトの名無しさんNGNG
>>161
またまた遅いかも知れんが、履歴の取得には
IUrlHistoryStgを使うのが正しいらしいぞ。

ttp://msdn.microsoft.com/library/default.asp?url=/workshop/networking/urlhist/IUrlHistoryStg/IUrlHistory.asp
参考ね。
IUrlHistoryStg2を使うと、履歴の全削除もできるぞ。
0169デフォルトの名無しさんNGNG
5.5以降ってのが痛いな。
それ使わなくても一応履歴は触れるしな。
0170デフォルトの名無しさんNGNG
IEコンポーネントとは、ただIEを呼び出すだけで、
GIFを読めるのを作ったわけじゃないと思うんだけどなぁ。うーん。。。
(1人の厨房の意見)
0171デフォルトの名無しさんNGNG
>>170
動的リンクしたライブラリはそのソフトの一部かどうかって問題だな。
機能的には一部どころじゃないが(w
0172デフォルトの名無しさんNGNG
IriaみたいにIEコンポーネント内で右クリックしたときだけ
メニューに独自項目を追加するのはどうやんの?
開発環境はVC
0173デフォルトの名無しさんNGNG
>>172
http://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-0839-1
に載っていた気が。
0174デフォルトの名無しさんNGNG
MFCのWebBroserオブジェクトで、Navigate()などを使って
Webページを表示しますが、「カチ」とクリック音が鳴ってしまいます。
これをオフにする方法はないでしょうか?
かなり何日もなやんでいてそれでもわかりません
どうか教えてください
0175IUnknownNGNG
いやあ、書き込みは久しぶりですな。

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

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

これとは異なり自身のアプリケーションのみで働かせたいというなら
結構面倒になる。まずは IDocHostUIHandler をキーワードに
色々と調べてみてくれ。Microsoftのサイトのどこかで解説されていた
のだが失念してしまった。
0176デフォルトの名無しさんNGNG
>>174
いいかげんうぜえな。
HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Explorer\Navigating\.current
を消せ。
0177デフォルトの名無しさんNGNG
うのみにされて勝手にシステムの設定変えられるようなコード書かれると
非常に迷惑なんですが
0178デフォルトの名無しさんNGNG
>>177
そんな奴の書いたコードなんか使わなければいい。
0179デフォルトの名無しさんNGNG
150あたりででてくる「OleDraw」は、呼び出した直後に
描画は完了しているのでしょうか?
それとも描画の完了をチェックする必要があるのでしょうか?
教えてください
0180デフォルトの名無しさんNGNG
>>179
OleDraw直後にブレークポイント設定してみた限りでは、完了してる。
それ以上に細かいタイミングとなると、わかんないけど。
ついでに>>167
MFC上での話だけど、
当方ではm_browser.ShowWindow(SW_HIDE);では、
その後にGetDocumentしたときにアサートに引っかかる。
::ShowWindow((HWND)(m_browser.GetSafeHwnd()),SW_HIDE);
だとOKなようだ。OleDrawで描画もされるし。
0181デフォルトの名無しさんNGNG
なるほどありがとうございます
>180
また、別の疑問なのですがブラウザ内で
gifアニメやフラッシュの動きを一時的に停止/再開する方法って
ありますか?
ご存知の方教えてください
0182デフォルトの名無しさんNGNG
>>181
フックしてWM_TIMERを横取りして、本来のWindowプロシージャに渡さない。
で、できるかどうかは知らない。
0183デフォルトの名無しさんNGNG
>>181
不可能と思われ
0184181NGNG
gifアニメやフラッシュの動きを一時的に停止というよりは、
ブラウザ画面全体を、更新を行わない静止画、として一時的に
扱いたいわけです
前にあったOleDrawでDCに書き出すのではなく、
そのまま、Webオブジェクトを可視にしたまま。
0185デフォルトの名無しさんNGNG
スクリーンショットでも取ればいいだろ
何がしたいんだよ
0186デフォルトの名無しさんNGNG
BrowserのDocumentへ直接文字列を書込んで表示しています。
表示が終わったら、HTMLの<A NAME="XXX">に移動したいのですが、
移動する方法とかあるのでしょうか?
0187デフォルトの名無しさんNGNG
IEがらみでついでに質問なのですが
(プログラミングとそれてすいません、ここのほうが的確かとおもって)
LAN接続して使っている複数のWindowsマシンのIEのブックマークの
内容を同期してくれるソフトってないですかね?
片方で何かを追加すると、ほかにも反映してくれるという感じの。
0188デフォルトの名無しさんNGNG
プログラミングとそれていてなんでここが的確だと思うんだか
頭にウジでも湧いてんのか?
0189デフォルトの名無しさんNGNG
>>187
ブリーフケース
0190デフォルトの名無しさんNGNG
WinDiff
0191デフォルトの名無しさんNGNG
すまん、比較だけじゃなかったのね。
0192デフォルトの名無しさんNGNG
VBでIEコンポーネントを使っているのですが、コンポーネント自体に
フォーカスがある場合、VBでは一部のショートカットキー(Ctrl+O、Ctrl+S等)が
拾えません。現在はフォーカスが当たっているときだけ「RegisterHotKey」
でホットキーを設定しているのですが、もっとスマートな方法って無い物でしょうか?
0193デフォルトの名無しさんNGNG
>>192
Fuck
0194デフォルトの名無しさんNGNG
WebオブジェクトのサイズにフィットするWebページを表示させているときでも
(要するに、画面のスクロールが不要なとき)
右側に、スクロールバーが表示されてしまいますが、これを消す方法って
ないでしょうか?
教えてください
0195デフォルトの名無しさんNGNG
HTMLでできないの?
0196194NGNG
>>195
IEで何かのページを表示させても
常に右側に表示されているスクロールバーを消したいのです。
HTMLで理屈上は何も表示されていないので、NetScapeなどで表示させると
表示されません。(スクロールの必要がない場合)
それをなんとか消したい(非表示にしたい)のです
0197デフォルトの名無しさんNGNG
フレーム内にいれて、FRAMEタグでSCROLLING=no
0198デフォルトの名無しさんNGNG
>>197
WinのIEでは、それでも右側にバーが表示されるはず・・・
0199197NGNG
<html>
<FRAMESET>
<FRAME src="http://www.yahoo.co.jp" SCROLLING=no>
</FRAMESET>
</html>

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

なんか良いツール、もしくは
説明しているHPありませんか?
0201デフォルトの名無しさんNGNG
>>199
どうもこちらのテストがミスっていました
確かに非表示になりました!ありがとうございます
0202デフォルトの名無しさんNGNG
>>200
IEのプラグインってActiveX Controlのことかな?
0203デフォルトの名無しさんNGNG
>>200
>27
0204デフォルトの名無しさんNGNG
ちょっと話がそれるんですけど
複数のWINマシン(できればネットワーク上)の、IEの
お気に入り内容を同期、管理できるツールってご存知ないですか?
1方で何かを追加すれば、ほかにも反映させられる感じの
0205デフォルトの名無しさんNGNG
>>204
レジストリの
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Favorites
に書いてあるフォルダ名を、各マシンの共有フォルダにする。
0206デフォルトの名無しさんNGNG
>>205
プログラム的にやりたいのでそんなんじゃダメです。
もっと良い方法無い?
0207デフォルトの名無しさんNGNG
プログラムでやればいいじゃん。
プログラムではレジストリをいじれないとでも思ってる?
0208デフォルトの名無しさんNGNG
>>206
ハァ?
レジストリを書き換えるプログラム書けば?
自分でピア2ピアの同期クライアント/サーバーをどうしても書きたいならそう書けば?
0209204NGNG
206は偽者です、
プログラミングではなく、定期的にfavoriteの内容を同期させる
ユーティリティをさがしているだけです
0210デフォルトの名無しさんNGNG
フォルダの同期プログラムなんて、そこらじゅうに転がってないか?
0211デフォルトの名無しさんNGNG
>>209
だから一つ共有フォルダを作って各端末でネットワークドライブに割り当てて
>>205のレジストリ値をそのフォルダ名にすれば同期するまでもないんだが。
0212デフォルトの名無しさんNGNG
>>211

それってノート機の場合、外にでちゃうときとか都合悪くないですか?
その都度コピー必要ですよね?
0213デフォルトの名無しさんNGNG
騙られるような質問をする方が悪いと思われ
0214デフォルトの名無しさんNGNG
>>212
外に出ちゃうマシンのフォルダをマスターにすりゃいいじゃねえか馬鹿。
0215デフォルトの名無しさんNGNG
>>214
ノート持ち出してる間他の端末どうする気だよ(藁
0216デフォルトの名無しさんNGNG
他の端末使うのかよ?
使用者が1人だから同期する必要があるんじゃないのか?
0217デフォルトの名無しさんNGNG
自分のアプリからIEを利用したいんですけど
EventSinkってどう実装すれば良いんでしょうか?
「新しいウィンドウを開く」のイベントを処理したいんですけど。

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

あらかじめVBSとかで設定を作っておいて、ワンタッチで切り替え…
とかやりたいんですけど。
0220デフォルトの名無しさんNGNG
>>219
そんなオブジェクトは無い
0221デフォルトの名無しさんNGNG
age
0222デフォルトの名無しさんNGNG
>219
コンポーネントを自作してVBScriptから呼び出せばいいだけのこと。
0223デフォルトの名無しさんNGNG
WTLを使ってHTMLの表示は出来たのですが,
現在のターゲットリンクのURLを入手するにはどうすればいいのでしょうか?
IWebBrowser2は手に入れれるので移動は出来るのですが,
URLを入手してプログラムでリンクの移動をしたいです.
0224デフォルトの名無しさんNGNG
DOMのコレクションを使えばいいんじゃないかな。
やったことないから間違ってたらごめんなさい。
0225デフォルトの名無しさんNGNG
domと言うことはWFCと言うことでしょうか?^^;
ご教授ください.
0226デフォルトの名無しさんNGNG
AddFavoriteを使い、お気に入りへ追加ダイアログを表示しています。
このダイアログはお気に入りフォルダをルートに表示されますが、
任意のフォルダをルートに表示する方法はないのでしょうか?
Bookshelfでは出来ているようなので、なんか方法があるとおもうのですが・・・。
0227223NGNG
判りました.
ありがとうございました.
0228デフォルトの名無しさんNGNG
age
0229デフォルトの名無しさんNGNG
age
0230デフォルトの名無しさんNGNG
hage
0231デフォルトの名無しさんNGNG
VC++6.0およびMFCでカスタムブラウザを作成しています。
お約束のCHtmlViewです。

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

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

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

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

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

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

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

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

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

よろしくお願いしますm(_ _)m
0274デフォルトの名無しさんNGNG
カチュアゲ
0275SNGNG
微妙に息の長いスレだな。
0276デフォルトの名無しさんNGNG
273へご指導を。
0277デフォルトの名無しさんNGNG
>>276
何故過去レスを読みませんか?>>263
0278デフォルトの名無しさんNGNG
>>277
VBで、ってのがミソだね。
>>263と同じようにやればいいんだけど、やり方はだいぶ違う。
0279名無しさんNGNG
休日アゲ
0280デフォルトの名無しさんNGNG
user-agentとか偽装したり、
Range: bytes=10- とかコンテンツを途中から取得したり
するためにHTTP requestヘッダをいじりたいんだけど
どうしたらいい?おしえて、おねがい!
0281 NGNG
>280
Proxomitronが一番てっとり早い?カナ
0282280NGNG
>281
サンクス。
でも、プロキシとか使わずに
IEがリクエストを生成するときにフックされる形で
プログラムがリクエストを生成することはできないかな?

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

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

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

かなり、沼にはまってます
0298デフォルトの名無しさんNGNG
>267
まず聞きたいのは、donutのアドレスバーは、
君の望む動作をしたのか、ってことだ?
#まさか、該当htmファイルがフレームとか‥‥
0299267(本物)NGNG
?
0300297NGNG
>>298
す、するどい
フレームです。これが問題かも。
動作そのものは、GetLocationURLで問題なさそうですね。
となると、どう対処すればよいのやら・・・
0301デフォルトの名無しさんNGNG
るby!
0302298NGNG
>267 スマソ。間違い
>300
DWebBrowserEvent2::BeforeNavigate2あたりを捕まえるとか。
0303デフォルトの名無しさんNGNG
メモリ上に存在するhtmlや画像のレンダリングを行いたいのですが、やったことある人いますか?
htmlのレンダリングはDOM使って地道に組み立てるなりinsertAdjacentHTMLするなりで何とかなりそうなのですが、
画像のレンダリングはちょっと検討つきません。imgエレメントの読み込みを捕まえても仕方ないですし。
0304298NGNG
Pluggable Protocol Handlerを実装して、
<img src="memory://id48885251">とかやるとか。
0305デフォルトの名無しさんNGNG
Pluggable Protocol Handlerって面白い仕組みですね。今触っています。ありがとう!
0306デフォルトの名無しさんNGNG
続報です。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件しか見つからん・・・
0307デフォルトの名無しさんNGNG
>>306
Pluggable Protocol Handlerを実装しちゃうと、
普通のホムーペからも呼び出せちゃうから、
セキュリティホールが空かないように気をつけてね。
0308デフォルトの名無しさんNGNG
コンポーネントじゃないんですが
P板の人ならと思い。。。

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

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

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

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

今もこの2点はわからぬままなのである(未熟)。
0323デフォルトの名無しさんNGNG
> DoFileDownloadは呼び出しもとのプロセスが終了すると一緒に
> 終了してしまうが

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

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

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

あほ扱いされ過ぎて卑下しすぎ→電波、
0328デフォルトの名無しさんNGNG
>>324-327 よっぱらい? あふぉ

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

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

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

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

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

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

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

どなたかアドバイスお願いします。
0337デフォルトの名無しさんNGNG
to 333
http://n76cd-01p02.ppp11.odn.ad.jp/old/a4950.html
0338333NGNG
ありがとうございます。
実はそのページも見て試行錯誤していたのですが、まだうまくいっていませんです。

MSHTML::IHTMLElement2* pIHTMLElement2;

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

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

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

何か解決策をご存知の方、お願いします。
0339デフォルトの名無しさんNGNG
1.IE5.0以上をインストールしていない
2.タイプライブラリを取り込んだ後MSHTML_TLB.Hをインクルードしてない。
3.それ以外。なんつったり
0340333NGNG
<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 を待ってから
行っているので原因は違うようです。

何か心当たりがありましたら、宜しくお願いします。
0341333NGNG
すみません、修正です。一番下の行はget_scrollHeightの間違いです。
0342デフォルトの名無しさんNGNG
>QueryInterface(→IID_IHTMLDocument2, (void**)&pIHTMLElement2);
とか
>get_scrollWidth(→&lHeight);
は単なるtypoなのか?
0343333NGNG
__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)です。
0344IID_IHTMLElement2NGNG
でわ?
0345333NGNG
全くその通りでした。指摘していただいたというのに、お恥ずかしい…。
おかげさまで無事サイズを合わせることができました。本当に感謝です。
0346 NGNG
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がサポートしてないだけ?
はたまた、やり方が違いますか?

お分かりになる方、助言をお願いします。
0347デフォルトの名無しさんNGNG
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.)

タブやスペースとはどこにも書いてませんが。
つーかどういうヘッダを追加したいのか不明。
0348346NGNG
だれも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.
0349デフォルトの名無しさんNGNG
とりあえず、HTTP応答でもみて、レイヤの切り分けをせんかい。
0350346NGNG
いや、
応答以前にセッションがNULLになってしまうんですよ。
単純にwininetがひとつのヘッダフィールドをtabで複数行連ねることを解釈できないのかな?
0351デフォルトの名無しさんNGNG
tabで複数行に分ける必要がどこにある?
継続行は実際には解釈しないクライアントが多いから1行で書けとどこかで見たぞ
0352デフォルトの名無しさんNGNG
>>340
> IDispatch* pDisp = WebBrowser1->Document;    // TWebBrowser *WebBrowser1;

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

#import <mshtml.tlb>
#include <mshtml_tlb.h>
はとりあえずしてます。
0353333NGNG
BCB4を使っていましたが、TWebBrowserは標準では登録されていませんでした。

[コンポーネント]→[ActiveXコントロールの取りこみ]で、「Microsoft Internet Controls」を
インストールすれば、コンポーネントパネルのActiveXタブにTWebBrowserが現れます。
あとは他のコンポーネント同様にフォームに貼りつけて使ってください。
0354333NGNG
ところで、#import が使えるということはBCB5ですよね。
TCppWebBrowserって標準でついてませんか?
0355デフォルトの名無しさんNGNG
お気に入りの表示回数とか最終表示日時って
どこに記録されてるんでしょうか?
0356デフォルトの名無しさんNGNG
http://bom-ba-ye.com/a.cgi?netapp=1
0357デフォルトの名無しさんNGNG
Desk Band を作ったんですが、IE だけで使いたいので
Explorer のツールバーに出させないようにするには
どうしたらよいのでしょう?
0358便乗NGNG
Desk Band で「クイック起動」みたいに1つだけしか作れないようにするには
どうしたらよいのでしょう?

タスクバー右クリック→[ツールバー(T)|クイック起動]
0359デフォルトの名無しさんNGNG
クリエイトプロセスでIEを起動して指定サイトを開くソースキボン。
0360デフォルトの名無しさんNGNG
>>357
レジストリで
noexplorer=1
0361デフォルトの名無しさんNGNG
普通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);
0362デフォルトの名無しさんNGNG
>>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;
}
0363357NGNG
>>360
>>レジストリで
>>noexplorer=1
教えてもらってありがたいんですけど、
どこのキーに入れたらいいのか、全然わかりません...
0364358NGNG
>>362
ありがとうございます
やってみます
0365デフォルトの名無しさんNGNG
JAVAスクリプトを実行するしないとかの切り替えはどうやってやればいいんでしょ
PutPropertyを使えばいいんだとは思いますが突っ込むプロパティの値がわからんのです

Donutのソース読んだらATL使ってたので分からなければあれで書きます
0366山本NGNG
2?6
0367デフォルトの名無しさんNGNG
>>365
レジストリに載ってる数字
0368デフォルトの名無しさんNGNG
はじめまして

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

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

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

0375デフォルトの名無しさんNGNG
>374
ロシアん・・・侮りがたし・・・・
0376デフォルトの名無しさんNGNG
C++Builder4でTWebBrowserを使っています。

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

write の直後に ReadyState が READYSTATE_COMPLETE になるまで待機すればいいかも
試してないけど
0380ねこまNGNG
あー全然外してるかも
0381376NGNG
ありがとうございます。
実は以前も試してみたのですが、何故か描画終了前に(READYSTATE_INTERACTIVEと
同じタイミング?)COMPLETEが返ってきてしまい、巧くいきませんでした。
方法としては合っているような気がするのですけど…。
0382デフォルトの名無しさんNGNG
>>379
この人のサイト、いろいろ情報があって役に立つよね。
でも、デザインセンスが。。
0383デフォルトの名無しさんNGNG
Windows Script Component で type=Behavior にして
IE5.5 で <object> としてロードしたんだけど
<layout> で記述した html が表示されません
これは正しい動作なんでしょうか?
0384デフォルトの名無しさんNGNG
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です。
0385デフォルトの名無しさんNGNG
age
0386デフォルトの名無しさんNGNG
保守じゃ
0387testNGNG
sample
0388testNGNG
sample
0389Yahoo ManNGNG
大変だーー。
0390そうですか・・NGNG
もうダメボ
0391デフォルトの名無しさんNGNG
Delphi 6 Personal、IE 6、Windows 2000で
IEコンポーネントを利用しているんですが、
アンカーやフォームでエンターを押してもリンクが開きません。
今のところ、キーボードメッセージをフックして
IHTMLDocument2.activeElementで取得したエレメントに対して
Clickをしてごまかしているんですが、これだと
<INPUT TYPE="TEXT">とか<INPUT TYPE="PASSWORD">でうまくいかない。
しかも、なぜかIHTMLInputElementやIHTMLInputTextElementにも
QueryInterfaceができないんです。
これの解決方法を教えていただけませんでしょうか。
0392デフォルトの名無しさんNGNG
age!!
0393デフォルトの名無しさんNGNG
結局さあ、COMであってもあんな使いずらかったら
何もできんのと同じだよなあ
0394デフォルトの名無しさんNGNG
使い方次第。
0395ちょい教えてNGNG
ActiveX解除ツールに関して


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

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

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

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

 ところで、IEコンポ自体にはGIFを読み込む機能は付いてないんですか?
IEを利用する上でGIF表示機能が付くんですか?って、これも板違いかな。わからんなった。
0410405NGNG
わあ、だめだ。ドラッグ&ドロップに対応しちゃってる。これじゃUNISYSに怒られる。
解除の仕方が分からん。
0411403NGNG
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に読み込むようにしたいのです。

うぅ、長い上に分かりづらいっぽい…
0412404NGNG
>>411
> うぅ、長い上に分かりづらいっぽい…

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

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

っていうか、クリーム色のウインドウみたいなやつってバルーンと
いう名前でいいのかな?
0418デフォルトの名無しさんNGNG
>>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で。
0419403NGNG
>>412
>「フレーム内での遷移をタイトルつきで履歴に格納したい」

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

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

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

誰かいい方法を教えて。
0434デフォルトの名無しさんNGNG
CHtmlViewで「ダイアルアップの接続」を出す方法と
「戻る」「進む」が有効かどうか調べる方法を教えてください。
「ダイアルアップの接続」はオンラインの状態でネットにアクセスすると自動的に出ますが
接続をキャンセルすると(オフライン状態にすると)以降は出てくれません。
IEだと「オフライン作業」を解除してオンラインにして他のページを表示したり更新すれば
「ダイアルアップの接続」が出ますが CHtmlView だと出ません。
オフラインの切り替えは SetOffline で行っているんですが間違っていますか?
0435デフォルトの名無しさんNGNG
>>434
[InetSDK] WebBrowser コントロールでの [進む] と [戻る] ボタンの使い方
http://support.microsoft.com/default.aspx?scid=%2Fisapi%2Fgomscom%2Easp%3Ftarget%3D%2Fjapan%2Fsupport%2Fkb%2Farticles%2Fjp163%2F2%2F82%2Easp&LN=JA
0436デフォルトの名無しさんNGNG
さげ
0437デフォルトの名無しさんNGNG
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からアクセスバイオレーションが飛んでくる。
ブラウザウィンドウが存在しないから?

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

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

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

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

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

IEのバージョンは関係するのかな。
0463458NGNG
>>462 IEのバージョンは関係するのかな。
あ、それかもです。うちは IE5.01。
0464デフォルトの名無しさんNGNG
5.0と5.5はカナーリ違うという罠。
0465デフォルトの名無しさんNGNG
IEコンポーネントを使わなくても良いかもしれませんが,
IEのプロクシ設定を取得する方法ってありませんか?
0466デフォルトの名無しさんNGNG
>>465
レジストリの
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
0467デフォルトの名無しさんNGNG
>>466
サンクスコ
0468465NGNG
さんきうう
0469デフォルトの名無しさんNGNG
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が取れません。
0470デフォルトの名無しさんNGNG
assert( &body);
というオチ?
0471デフォルトの名無しさんNGNG
get_bodyとかはSUCCEEDナのにもかかわらずNULLを返すことがある。

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

ちーともわからなかった。
0475デフォルトの名無しさんNGNG
つか、donutのソース嫁よ……
mtlweb.hあたりにあるから。
0476474NGNG
ありがとうです。
早速ソースを googleに助けてもらって見てみました。

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

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

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

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


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

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

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

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

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

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

抜け道がないわけではないようだけど、セキュリティ上での制限
つってるくらいだからここに書くのはまずかろうな…
0482デフォルトの名無しさんNGNG
>481

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

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

おせーて下さいっ!!
0491デフォルトの名無しさんNGNG
CHtmlView / TCppWebBrowser
0492デフォルトの名無しさんNGNG
SHDOCVW.DLL
0493デフォルトの名無しさんNGNG
MSDN(Web)の情報、増えたんじゃない?
米国司法省とかとの和解案の反映の結果?
いずれにせよ、ちと興奮気味に見てます。
0494デフォルトの名無しさんNGNG
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
テキストブラウザにしませう
0495デフォルトの名無しさんNGNG
VB6.0でWebBrowserを使いVBのフォームの中にページを表示させるようにしました。
それでなんですが表示されたページの懸賞などの入力フォームなんかに自動入力させたいのですが
教えてください、お願いします
0496495NGNG
すいません一行抜けてしまいました。
>VB6.0でWebBrowserを使いVBのフォームの中にページを表示させるようにしました。
>それでなんですが表示されたページの懸賞などの入力フォームなんかに自動入力させたいのですが
どのようにすればいいのでしょうか?
>教えてください、お願いします


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


*** 注意 ***

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

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

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

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

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

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

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

しかし、今の俺は垂直スクロールバーを
「いらないときは消せ」といわれて頭を抱えていたり。
DOCHOSTUIFLAG_SCROLL_NOを立てると必要なときも出てこなくなるし。
誰かいー話知りませんか?
0514513NGNG
うお。sageてどーする。
0515デフォルトの名無しさんNGNG
>>507
いまどきVB製の糞ブラウザなんて(゚�听)イラネ
fubは別だが。
0516The AgeNGNG
>>511
Thanks.ありがとうございました。

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

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

2ちゃんねらーの力で打倒ヤO−
毎日絶対見てしまうホームページ登録しる
          
0521デフォルトの名無しさんNGNG
age
0522デフォルトの名無しさんNGNG
age
0523デフォルトの名無しさんNGNG
sage
0524デフォルトの名無しさんNGNG
0525デフォルトの名無しさんNGNG
0526デフォルトの名無しさんNGNG
0527デフォルトの名無しさんNGNG
0528デフォルトの名無しさんNGNG
誰かmozillaコンポーネントでブラウザを作ってないのか
0529デフォルトの名無しさんNGNG
>>528
スレ違い。レス嫁>>484
0530デフォルトの名無しさんNGNG
silentを設定できるくせに、SetOptionに相当するメソッドが見つからないので抜け道を探しています。
自動で認証をすませてしまうようなカラクリを実装するためには、どうしたらいいのでしょうか?

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

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

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

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

lpDispatch->QueryInterface(IID_IHTMLDocument2, (void**)&lpHtmlDoc);
みたいなので(1)ぐらいは出来そーだけどな。
0536デフォルトの名無しさんNGNG
>>513
今見たら見えんくなってた。
昨日見たときは確かにあったのに・・・。
保存しときゃよかったsage
0537536NGNG
やべ、見れた(--;
0538デフォルトの名無しさんNGNG
0539デフォルトの名無しさんNGNG
0540デフォルトの名無しさんNGNG
0541デフォルトの名無しさんNGNG
これも?
http://www.komei.or.jp/lounge/download.htm
0542デフォルトの名無しさんNGNG
oiomaera

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

まじで
0543デフォルトの名無しさんNGNG
donutのソースでも嫁
0544デフォルトの名無しさんNGNG
現在プログラム板老舗スレ第5位!
0545デフォルトの名無しさんNGNG
mfcでタブブラウザ作る方法教えれ
0546デフォルトの名無しさんNGNG
IEコンポブラウザ内のフォームで
ビジュアルスタイルを反映する方法はありますか?
純正IE6以外ではクラシックスタイルになってしまうのですが
0547デフォルトの名無しさんNGNG
manifestを作るとツールバーとかはLunaになったけど
やっぱフォームはクラシックスタイルのままだ…
0548デフォルトの名無しさんNGNG
IEのフォーム類は自力で描画してたと思うが。
0549デフォルトの名無しさんNGNG
>>548
で、Lunaで描画させるにはどうしたらいいのかと。
IE6しか使えない隠しAPIでも使ってるんでしょうか?
0550デフォルトの名無しさんNGNG
>>546
http://msdn.microsoft.com/workshop/browser/hosting/reference/enum/dochostuiflag.asp
のDOCHOSTUIFLAG_THEMEを指定すると・・・
0551デフォルトの名無しさんNGNG
活!
0552デフォルトの名無しさんNGNG
現在、非表示のWebBrowserコントロールにファイルを読み込ませ、
その内容をメモリデバイスコンテキストに描画したいと考えています。
OleDrawを利用すればHTMLファイルやJPEGファイルなどは
描画できるのですが、PowerPointのファイルは描画できません。
この場合、IEコンポーネントの上にPowerPointアプリケーションが
立ち上がっているようなので、WebBrowserコントロールを対象とした
OleDrawを行っても何も描画されないのではないかと思われます。

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

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

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

誰かIEコンポ完全日本語マニュアル作ってくれ〜
0554IP記録実験NGNG
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を提出することがある。
0555デフォルトの名無しさんNGNG
>>584
イオナズン
0556デフォルトの名無しさんNGNG
これでサイコムスレの粘着も消えるな
0557デフォルトの名無しさんNGNG
最高裁への上告は認められなくなったから、これで事実上判決確定だよ。
逆転も何もないって。          
勢いで上告なんかしても一発で上告却下(門前払い)だよ。
   
二審も一審を支持。これに対して上告しようにも、
刑事訴訟と同様、自由に上告できるってもんでもないのです。
民事訴訟法312条 (上告の理由) 1項
「上告は、判決に憲法の解釈の誤りがあること
その他憲法の違反があることを理由とするときに、することができる。」
http://www.m-net.ne.jp/~doba/goto/hon.htm
  
ようするに上告しても今の制度では100%無駄。 これで完全終了ってことか。
0558デフォルトの名無しさんNGNG
名スレの予感
0559デフォルトの名無しさんNGNG
======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
────────────────────────────
0560デフォルトの名無しさんNGNG
ひろゆきって最低だよな。
ひろゆきのせいで、社会生活はしっかりやってるのに
ちょっと調子乗って書き込んだ聖人君主がタイーホされるわけだよ。
ほんと最低だよ。人間のクズだよ。
0561デフォルトの名無しさんNGNG
>>92
いやぁ、明日弁護士さんに会いにいくから、
ここらへん重要だったり、、、

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

内容証明ではなくて訴状が届いた時点で削除をしておけば、
削除義務違反ではないってことになるのかな、と思って、、
0563デフォルトの名無しさんNGNG
>>91 結局ひろゆきがいつの時点で消していれば、賠償責任を逃れられたのでしょうかね?
0564デフォルトの名無しさんNGNG
>>436
>まあしかし控訴した場合、最高裁裁判官には不信任投票
>ができるからそっちで遊べそうだね
ついにこういう日が来ましたか。。
0565デフォルトの名無しさんNGNG
>>112
そうだね。
今なら勝つ確率高いしね。
しかも何百ももらえるしw
0566デフォルトの名無しさんNGNG
わーい!テス�d
0567デフォルトの名無しさんNGNG
【ネットボランティア】余った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
0568デフォルトの名無しさんNGNG
IRC落ちた?
0569デフォルトの名無しさんNGNG
負け犬は現実社会ではなにもできない奴ばっかだから間に受けない方がいい負け犬=俺以外のやつ
0570デフォルトの名無しさんNGNG
全部にいれてみた。
0571デフォルトの名無しさんNGNG
便所の落書きが、青年の主張に変わるね
0572デフォルトの名無しさんNGNG
避難先はどこ?
0573デフォルトの名無しさんNGNG
さん
この展開は、夜勤さんがお好きそうな展開ですわ(笑)
0574デフォルトの名無しさんNGNG
Winny引っ越しかね
0575デフォルトの名無しさんNGNG
======2==C==H======================================================

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

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

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

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

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

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0576デフォルトの名無しさんNGNG
   ,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,             〉 ヽ、
    彡、,,,-‐┘           └ュュュュ
0577デフォルトの名無しさんNGNG
殺されたら訴えれない罠
0578デフォルトの名無しさんNGNG
もともとほとんどの政治家≒デムパだろ?
自殺者が戦後最多になるくらい失業者がでても権力争いばっかり。(w
0579デフォルトの名無しさんNGNG
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
0580デフォルトの名無しさんNGNG
ひろゆき降臨キボン
0581デフォルトの名無しさんNGNG
839氏が作るそうです
0582デフォルトの名無しさんNGNG
てすと
0583デフォルトの名無しさんNGNG
2ちゃんの普通が基準なのか、それとも現実世界での普通が基準なのか
問題だよ!犯してーなんて2ちゃんではどこでも見かける言葉じゃん
でも、現実世界では人前では言わない言葉だ、そこらへんどうなのよ?
0584デフォルトの名無しさんNGNG
びっくらこいた
0585デフォルトの名無しさんNGNG
【最後の砦】書き込めば今年合格できるスレ【神頼】
http://school2.2ch.net/test/read.cgi/kouri/1041636818/
0586デフォルトの名無しさんNGNG
なな遊んでくれ
0587デフォルトの名無しさんNGNG
ネタにマジレ(ry
0588デフォルトの名無しさんNGNG
そういうレスをすると本当に本人が降臨して
やる気なく適当に「むきー」とだけ書いて去ってったりすることがあるので
やめてください。
0589デフォルトの名無しさんNGNG
乙
0590山崎渉NGNG
(^^)
0591デフォルトの名無しさんNGNG
2
0592山崎渉NGNG
(^^)
0593デフォルトの名無しさんNGNG
フォルダの同期プログラムなんて、そこらじゅうに転がってないか?
0594デフォルトの名無しさんNGNG
IEコンポーネントの質問というか、自分でIEコンポーネントみたいなものを
0から作って実装したいんですけど、参考になる資料とかサイト無いですか?
0595デフォルトの名無しさんNGNG
>>594
あなたは何が知りたいの?もう少し具体的にお願い。
まさか「HTTPって何ですか?」ぐらいのレベルじゃないですよね?
0596デフォルトの名無しさんNGNG
>594
ここでそんな質問している時点で、0から作って実装なんて到底無理と思われ。
0597デフォルトの名無しさんNGNG
自分でブラウザ作ろうとした事あるけど
テーブルで挫折した
0598山崎渉NGNG
(^^)
0599デフォルトの名無しさんNGNG
0600デフォルトの名無しさんNGNG
 
0601デフォルトの名無しさんNGNG
あやすぃ・・・。
http://headlines.yahoo.co.jp/hl?a=20030128-00000002-wir-sci
0602デフォルトの名無しさんNGNG
>>601
>オスマニさんのブラウザーは、米マイクロソフト社のインターネット・エクスプローラ(IE)をベースとしている。
>だがオスマニさんは、ビジュアル・ベーシックではなく、ボーランドC++をプログラミングに使用した。
>このため、さらにマイクロソフト社のツールをいくつか使って言語を変換しなければならなかった。
どゆこと??
IEのソースを見て作った??
IEはVBで作られてる??(w
なんてこった。。
0603デフォルトの名無しさんNGNG
IEコンポを使い倒すのに参考になる書籍はありますか?
英語苦手なんで日本語のやつで
0604デフォルトの名無しさんNGNG
IEコンボ
0605デフォルトの名無しさんNGNG
BCBでタブブラウザ作ってるんですけど、スクロール位置を取得したり
変更したりといったことができません。
どうしたらいいですか?
0606デフォルトの名無しさんNGNG
IEでクリックしたリンクのURLを履歴に残さないようにする
方法を教えてください。
または、プログラム的に意図的に任意のURLを削除する方法(API)を
教えてください
0607デフォルトの名無しさんNGNG
>>606
ステルスクリック
0608名無しさんNGNG
0609デフォルトの名無しさんNGNG
>>606
なんとかUrlCacheEntry
0610606NGNG
すいません
もう少し具体的に教えてください
>>608
>>609
0611デフォルトの名無しさんNGNG
>>606
わかんないけどたぶんFindFirstなんとかとかDeleteなんとかとかなんじゃないかな
0612605NGNG
誰かわかるかたいらっしゃいませんか?

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

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

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

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

次の書き込みは「釣れた」とかですか(藁
0636デフォルトの名無しさんNGNG
や釣れた
0637デフォルトの名無しさんNGNG
>>635
コピペみたいに一行目書いてみただけ(藁

「釣れた」「必死だな」は以降禁止でマターリやりたい。
0638デフォルトの名無しさんNGNG
>「釣れた」「必死だな」は以降禁止でマターリやりたい。

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

>>605
ごめん。わからん。
0640デフォルトの名無しさんNGNG
>>638
あー、お前か。なっとく。
0641デフォルトの名無しさんNGNG
>>640
うん、おれ。今度出張でそっち行くから、そんときは泊めてくれ。よろしく
0642デフォルトの名無しさんNGNG
>>641
いい加減アレ返せよ。ちゃんと。
0643デフォルトの名無しさんNGNG
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 みてもこれだ、というのは
ないし、わかる人がいれば教えてもらえないでしょうか。
0644643NGNG
その後試行錯誤して、取れることは取れるようになりました。
でも綺麗でないので後学のためまっとうな取り方を誰か教えてもらえると
うれしいです。

とりあえず今の取り方:

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

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

  HTMLDocument -> (SHDocVw.)InternetExplorer

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

しかし、後者のセキュリティチェックは一体どういう意味があるのか疑問。
一方でシステム操作までできるのに、フレームへのアクセスだけ禁止して
どうする?>MS 権限確認をせずに、単に異なるドメインのフレーム間参照を
禁止してるのか…
0648デフォルトの名無しさんNGNG
>>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
0649デフォルトの名無しさんNGNG
>>647
つーか、IEのエクスプローラーバーとして登録したHTMLにVBのOCXを埋めこむより、
VBのOCX自体をエクスプローラーバーとして登録した方がスマートかと。
↓に必要なタイプライブラリとサンプルが揃ってる。
http://www.domaindlx.com/e_morcillo/
0650643NGNG
>>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 にすべきかな…
0651643NGNG
>>649
見てみたけど HTML+OCX より激しく複雑…HTML登録だと大半の
作業は SHDOCVW.DLL がやってくれるけど、こちらだと全部の
インタフェースを自分で実装しなきゃいかんから手ごわい。

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

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

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

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

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

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

一つ目のはやっぱり分からないので、どなたか〜〜(;´д⊂)
0656デフォルトの名無しさんNGNG
historyか?
0657デフォルトの名無しさんNGNG
>>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 イベントが発生しない事を前提にしているので、
その可能性がある場合は、別途、対策をしておいてください。
0658652NGNG
>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 // 以下略
0659652NGNG
やっぱダメだ。
>658の方法じゃ半分くらいしかポップアップウインドウを消せない。
0660デフォルトの名無しさんNGNG
ポップアップ広告を完全に排除しようと思うとMozillaみたいな方法しかないと思うが。
0661デフォルトの名無しさんNGNG
インターネットからのデータ読み込みについて質問です
まず、コードを出したほうが話が早いので、、、
----------------------------------------------------------
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を読まない)にはどうしたらよいでしょうか?
教えてください
0662661NGNG
661でバッファに読み込むと書いておりましたが
ファイルへのストリーム書き出し処理の間違いでした
0663デフォルトの名無しさんNGNG
スレ違いの予感
0664デフォルトの名無しさんNGNG
>661
>未然にそれを感知して防ぐ
たぶん出来ない。ていうか普通はそうしない。
いったんどっかの変数に入れて、ごちゃごちゃっと処理を済ませた分から保存してく。
でないと、ヘッダも丸ごと保存する事になっちゃうし、
Transfer-Encoding: chunkedの時とか何か余計なのが混じったままになっちゃうし。
てかそれよりスレ違い。

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

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

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

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

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

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

まだ完全に、現象を発生させる方法は分かってません。
IE のキャッシュをクリアすると、再現しなくなることもあります。
0692デフォルトの名無しさんNGNG
>>691
(゚∀゚)やられた! オレのも帰ってこなくなった!
手動ブラクラ発動!って感じ? みたいな?
0693デフォルトの名無しさんNGNG
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が印刷されちゃいますよね。
それを隠す方法があれば、ご教授ください

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

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

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

すいませんが、ご教授ください
0699デフォルトの名無しさんNGNG
>>698
過去ログで解答の出なかった話題は諦めろ。
0700デフォルトの名無しさんNGNG
>698
2chツールみたいに自前でページの取得するしかないんじゃない?
0701デフォルトの名無しさんNGNG
ページ設定で変更できる内容をプログラムから変更ってできないですかね?
0702デフォルトの名無しさんNGNG
>>701
スレ違い?
0703任意のIE履歴を消すNGNG
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();
こんな感じで組みましたがうまく消えてくれません
どこに問題があるかご教授お願いします
0704703NGNG
本当に使いたいのはDeleteURLです。
試しにClearURLも使ってみましたが、
こちらもうまく機能しません。
(エラーコードは0なのですが・・・)

どなたか教えてください
0705デフォルトの名無しさんNGNG
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#です。
0706デフォルトの名無しさんNGNG
OnNewWindow2の時のURLはどうやって取得するの?
0707デフォルトの名無しさんNGNG
>706
IDocHostUIHandler::TranslateUrl
0708デフォルトの名無しさんNGNG
だれか>>703に教えてやれよ
せっかくソースコードまでのせてんだからさ
0709デフォルトの名無しさんNGNG
>>708
マルチの自作自演てはじめて見た。
0710デフォルトの名無しさんNGNG
>>709
ワロタ
このマルチ、スゲェな。
0711デフォルトの名無しさんNGNG
>>606
>>676
>>698
>>703
必 死 だ な (w
0712703NGNG
>>708
お口添えありがとうございます
やっぱり特殊分野なので、さすがにみんなわからないんでしょうね
悔しければ703のリストの問題点を指摘してください
0713デフォルトの名無しさんNGNG
わかるけど、自演厨には教えたくないからさ・・・
0714デフォルトの名無しさんNGNG
>>712
こんな所で釣りすんなYO
0715デフォルトの名無しさんNGNG
マルチ自演厨ってすごいと思った
0716デフォルトの名無しさんNGNG
相互リンク
■ VisualC++(MFC限定)相談室 MFC7.dll■
http://pc2.2ch.net/test/read.cgi/tech/1047949606/l50
0717140NGNG
>>713
ちょっと姑息な手を使ったのは認めます
素直にあやまりますので教えていただけませんか?
ほんとにやばいので・・・
0718デフォルトの名無しさんNGNG
…ちょっと?
0719140NGNG
実はわからねーんだろお前らw
レベル低いね(プゲラ
悔しかったらとっととコード書いてみろってんだ(ゲラ
0720140 ◆KxJwJ3q4Cw NGNG
719は私ではありません
とりあえずトリップつけます
703の件ですが、ほんとにやばいです
どうかお力添えをば・・・
0721デフォルトの名無しさんNGNG
( ´_ゝ`)
0722 NGNG
面白いのでマターリ観察しよっと
0723デフォルトの名無しさんNGNG
まず、「どうヤバイのか」からだな
0724デフォルトの名無しさんNGNG
>>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";
でええやん。
0725デフォルトの名無しさんNGNG
>>140
俺は最近、松井の口が西田敏行になってきてることに危惧している
0726デフォルトの名無しさんNGNG
>>724
例だからじゃないの?
実際には関数の引数とかが渡されるんでしょ
で、履歴の消し方だが確かURLの頭に「Visited:」
と付ける必要がある
0727デフォルトの名無しさんNGNG
>724
エラーになる罠

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

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

横スクロールバーを表示するかしないかの基準ってどうなってるのだろう・・・。
0742デフォルトの名無しさんNGNG
>>741
ウィンドウの横幅よりドキュメントのが大きければ
横スクロールバーが出ます。
ドキュメントの幅というのはドキュメントの内容に左右されます。
0743デフォルトの名無しさんNGNG
>>742
そのドキュメントの幅を取得できないかなぁと思い、widhやclientwidthも試してみたのですが、
どうも違うようです。なんとか取得できないものでしょうか。
0744デフォルトの名無しさんNGNG
WebBrowserコントロールのHWNDをVBから利用するとエラーが発生します。
hWndの取得方法ってありますか?
0745デフォルトの名無しさんNGNG
>>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。
0746745NGNG
標準モジュールに書いてね。
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
0747745NGNG
修正
こっちのほうがいいか。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
0748デフォルトの名無しさんNGNG
FindWindowExでいいじゃん
0749デフォルトの名無しさんNGNG
IHtmlWindowからIWebBrowserを得ることは無理かな?
コンテキストメニューの拡張用スクリプト内で、ExecWB使いたいのだけど。
0750山崎渉NGNG
(^^)
0751デフォルトの名無しさんNGNG
http://members.jcom.home.ne.jp/monazilla/document/directwrite.html
↑こういうことをVC++でやりたいんですが、どうすれば良いのでしょうか?
0752デフォルトの名無しさんNGNG
>751
たぶんこれ
ttp://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/tutorials/webocstream.asp
0753デフォルトの名無しさんNGNG
>>752
∧_∧   
( ´∀`)< それぽ


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

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

と言うことは、、、webサイトを表示する速さの向上を考えるとすると
VBやVC++では不可能と言うことかな?。。。
0764デフォルトの名無しさんNGNG
>>763
WebBrowserを使ってIE以上の表示速度を出そうとしていたのでしょうか。
0765760NGNG
>>764
出そうと言うか、可能かどうかを調べていたんです。

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

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

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

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

IEツールバー あげ
0794デフォルトの名無しさんNGNG
【WEBサイトの負荷テストを行うツールの作成】

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

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

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

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

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

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

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



0801デフォルトの名無しさんNGNG
>>800
できたら困るよ。
0802デフォルトの名無しさんNGNG
>>800
各ディレクトリにindex.*がなくて、ディレクトリ丸見え設定になっていれば可能かも。
本当は、801が言うように、出来たら困るのだけど。
0803デフォルトの名無しさんNGNG
IEコンポと関係ねーし。
0804800NGNG
そうですよねー
これができたら、セキュリティ上ヤバイですよねー

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

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

だって。
0811デフォルトの名無しさんNGNG
>>810
リンク先が違うのでは?

http://darksky.s21.xrea.com/sw/spy/index.html
0812デフォルトの名無しさんNGNG
text
0813810NGNG
>>811
ほんとだアリガト。
0814山崎渉NGNG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0815デフォルトの名無しさんNGNG
MFCのIEコンポーネントでの制御でユーザーエージェントを
IE以外のものにしたい場合、どうすればよいのですか?
キーワードでもいいので教えていただければ幸いです
よろしくおねがいします
0816デフォルトの名無しさんNGNG
>>815
UrlMkSetSessionOption
0817815NGNG
>>816
ありがとうございます
OnBeforeNavigate2Explorer1のほうで制御する方法があったら
教えてください
0818デフォルトの名無しさんNGNG
>>817
http://msdn.microsoft.com/workshop/networking/moniker/reference/functions/UrlMkSetSessionOption.asp
ちゅーか検索すれ
0819815NGNG
いやUrlMkSetSessionOptionのアプローチについてはわかりました
ただ、リンク先(普通のIEで開かれてしまう部分)もユーザーエージェントを
制御したいので、もう少し上の部分で手をつけれないかなと・・・
0820bloomNGNG
http://homepage.mac.com/ayaya16/
0821デフォルトの名無しさんNGNG
リンク先がIEで開かれてしまわないようにしましょう
0822815NGNG
charuserAgent[256];
strcpy(userAgent,"USERAGENT");
HRESULT err = UrlMkSetSessionOption(URLMON_OPTION_USERAGENT,&userAgent[0],strlen(userAgent),0);

これを組み込みましたが、ユーザーエージェントはIEのままになってしまいます
どこがおかしい教えてください
0823デフォルトの名無しさんNGNG
>>822
正しくないか?
0824預言者NGNG
http://life.fam.cx/mfg/
0825デフォルトの名無しさんNGNG
質問なんですけどHTML(JavaScript)で簡単なプログラムのような物作れますか?
0826デフォルトの名無しさんNGNG
>>825
すれ違いな貴方には無理かもしれません。
0827デフォルトの名無しさんNGNG
>>825
作れます。
0828デフォルトの名無しさんNGNG
>>826すれ違い住みません。
0829デフォルトの名無しさんNGNG
>>825
マジレスすれば、HTMLではリンクを使ってプログラムっぽいものを作れる
JavaScriptは制限の多いプログラミング言語
0830デフォルトの名無しさんNGNG
> HTMLではリンクを使って
どこがマジレスなんだか。

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

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

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

一応、ModifyStyleExとかでRemoveしてみましたが
検討違いのようで・・・
0845デフォルトの名無しさんNGNG
cssで
body { border: 0 }
0846デフォルトの名無しさんNGNG
>>842
分かりました。早速見てみます。
0847デフォルトの名無しさんNGNG
ブラウザで右クリックしてメニューを選択したら
自作のアプリケーションにメッセージを送るようにしたいんですけど
参考になるサイトとかありませんか?
0848デフォルトの名無しさんNGNG
ナビゲートするときの音を鳴らさない方法ってありますでしょうか?
0849デフォルトの名無しさんNGNG
>>848
コントロールパネルから音の設定
>>847
漏れも知りたい
0850848NGNG
グローバルな設定を変えずにできないものでしょうか?
0851なぜ・・・NGNG
WEBサーバ(IIS)上にワード文章を公開して
社内の人に閲覧してもらう仕組みを作ろうとしているのですが
あるクライアントがファイルにアクセスすると
勝手にファイルが消えてしまうのです。
普通のテキストファイルの場合には消えません。
IISのログを見ると
GETだけでいいのに・・・DELETEまでしています。
おいおい!!って感じでお手上げです。
知っている人がいたら教えてください。
PDFにでもして公開しようかなぁ。
0852デフォルトの名無しさんNGNG
>>851
スレ違い。
webdav止めるとかDELETE止めるとかすれば?
PDFにしたって関係無いよ。
0853デフォルトの名無しさんNGNG
哺種
0854デフォルトの名無しさんNGNG
以下の情報を含む、計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名様まで
                        
            
0855デフォルトの名無しさんNGNG
hosyu
0856デフォルトの名無しさんNGNG
IEのショートカットをフォームにドラッグしたことを調べるにはどうしたらいいですか?
0857デフォルトの名無しさんNGNG
>>856
普通のファイルのドラッグ&ドロップのイベントでいいんでない?
0858_NGNG
http://homepage.mac.com/hiroyuki44/hankaku10.html
0859_NGNG
http://homepage.mac.com/hiroyuki44/jaz04.html
0860デフォルトの名無しさんNGNG
>>857
COMコンポーネントとかあったような気がする。
漏れは知らんけどw
0861デフォルトの名無しさんNGNG
>>860
IShellLinkだっけ?
0862デフォルトの名無しさんNGNG
☆頑張ってまーす!!☆女の子が作ったサイトです☆
http://yahooo.s2.x-beat.com/linkvp/linkvp.html
0863デフォルトの名無しさんNGNG
☆頑張ってまーす!!☆女の子が作ったスレッドです☆
http://pc2.2ch.net/test/read.cgi/tech/982930049/
0864デフォルトの名無しさんNGNG
MFCを使ってMDIでブラウザを作り、エディットボックスに入力したURLを取得して
Navigateで飛ぶという、なんてことはないプログラムを作ったのですが
コンパイルは通っても、いざURLを入力して飛ぼうとするとエラーが起こって
落ちてしまいます。エディットボックスからのテキストの取得方法に
間違いがありそうなのですが、直し方がどうもわかりません。
ソースのほうが今手元にないので、本当はその部分のソースを
貼り付けたいのですが出来ません。
確か m_wndDlgBar.GetDlgItem(IDC_URL)->GetWindowText(url);
みたいな感じで取得していたと思います。(かなり記憶薄)

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

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

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

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

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

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

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

以前、Infoseekかgooがやってたみたいに、サイトのサムネイル画像を
自動取得したいんだけど。
0870デフォルトの名無しさんNGNG
画像が欲しいんだったらサイトの画像を取得すればいいんじゃないか?
0871デフォルトの名無しさんNGNG
>>869
IExtractImage
0872869NGNG
>>871
ありがと。
それ調べてみるよ。

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

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

アドバイスよろしくおねがいします
0881デフォルトの名無しさんNGNG
>>880
IE4しか入ってないのに6以降の機能を使いたいとかそうゆうこと?
必要なDLL多いし、レジストリ登録もあるし、元々の環境壊さずとかなったら、無理。
第一、やったらMSに訴えられるおそれ有り。
IE以外のコンポを探すべし。
0882デフォルトの名無しさんNGNG
>IE以外のコンポを探すべし。
Geckoベースのブラウザを作ろう。
http://pc2.2ch.net/test/read.cgi/tech/1023546699/
0883880NGNG
参考になりました、あきらめます
ありがとうございましたー
0884デフォルトの名無しさんNGNG
すれ立てるまでもない質問スレから誘導されました。
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 内の文字列をなしにするとすぐに反映してくれます。
この原因は何でしょうか? また、これは回避できるものなのでしょうか?
どうか宜しくお願いします。
0885デフォルトの名無しさんNGNG
>>884
関係無いかもしれんが、
WebBrowser.Document.body.Style.innerHTML
っておかしくないの?
WebBrowser.Document.body.innerHTML
じゃない?
0886884NGNG
>>885
すみません、打ち間違いでした。
0887あぼーんNGNG
あぼーん
0888あぼーんNGNG
あぼーん
0889デフォルトの名無しさんNGNG
保守
0890デフォルトの名無しさんNGNG
>>887-888
昔はこんなバカはム板にはいなかったもんだがなあ。
0891デフォルトの名無しさんNGNG
>>890 夏だからねw
0892デフォルトの名無しさんNGNG
もう全部夏のせいにして思考停止w
0893デフォルトの名無しさんNGNG
MSNメッセンジャーVer6から、
アプリが追加されたけど、
このアプリを自作するための仕様って公開されてるのかな?
0894893NGNG
ぐは、誤爆しますた
0895デフォルトの名無しさんNGNG
monazilla BBS に書いたんですけど、反応無いのでちょいと質問。
向こうも読んでいる方にはマルチになります。すいません

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

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

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

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


0906あぼーんNGNG
あぼーん
0907あぼーんNGNG
あぼーん
0908あぼーんNGNG
あぼーん
0909あぼーんNGNG
あぼーん
0910884NGNG
>>レスしてくださった皆様
あっちこっち修正して半分弱まで抑えきることに成功しました。
どうしてもダメなトコは他の処理を並行でやって誤魔化します(;´∀`)
>>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以降

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

ActiveXタブのは、TInternetExplorerとかの事言ってるなら、
IE操ったりとか。
0913山崎 渉NGNG
(^^)
0914895NGNG
>>912
レスありがとう

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

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

最初コンポパレット見たら、凄い数のアイコンが出てたのでバグったか?
と、思いましたが、それっぽい名前が出てますねぇ…。多分使うことないと思うが
0915デフォルトの名無しさんNGNG
Thread keep...
0916イベントシンクNGNG
  EventSinkについての質問です。

  Code Guruのhttp://www.codeguru.com/ieprogram/dhtmlhook.htmlにある
 サンプルプロジェクトを実行してみたのですが、コンパイルエラーやリンク
 エラーで実行できませんでした。
  しかしコメントを読み、なんとかエラーはなくなり実行はできたのですが、
 どうしてもInvokeでイベントをキャッチしてくれません。正常に動作させる
 方法をご存知の方がいたら、アドバイスをいただけませんか。
0917デフォルトの名無しさんNGNG
>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
0918デフォルトの名無しさんNGNG
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のリンクを
解析する必要があるのでしょうか?
お手軽な関数とかが用意されているのであればそれを利用したいのですが。
よろしくお願いします。
0919vNGNG
お色気たっぷりなんですがどこか可愛らしさが漂う綺麗な人妻です。
スレンダーなボディーが更に色気を倍増させている気がします。
じっくり見つめながらフェラをし、小さめのオマンコに男根を導いていきます。
こういう年の取り方をしたいですね。
無料ムービーからどうぞ
http://www.excitehole.com/
0920山崎 渉NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0921デフォルトの名無しさんNGNG
WebDAVとか使えばできるだろ。
0922デフォルトの名無しさんNGNG
WinInetを使用してHTTPサーバと情報をやり取りするプログラムを
作成しています。(VC++ 6.0です。)
そこで使用している、CHttpFile::EndRequestメソッドについて
質問があります。

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

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

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

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

この、EndRequestは、何を持って成功としているのか?
また、どんなときにエラーとなるのか?
をもしご存知の方がいましたら、教えてください。
レス数が900を超えています。1000を超えると表示できなくなるよ。