IEコンポーネントを使い倒すスレ Ver.2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/04/16(日) 21:08:42IEコンポーネントを利用したブラウザのプログラミングに関する情報の交換及び再
利用を目的とした総合情報スレッドです。
=====================================
最近IEコンポーネントを利用してブラウザを作るプログラマが増えてきました。こ
れから自作してみようという人も多いでしょう。コンポーネントを貼り付けるだけ
なら誰でも出来ますが複雑な制御を行うにはそれなりの経験や知識が要るようです。
私自身が知りたいのも山々ですが、似たような質問が分散するのを避けるためにも
統一しましょう。ブラウザ作者、COM に精通した方大歓迎です。もちろん公開した
くない "禁断のテク" もあると思いますが、そこは各人の判断ということでお願い
します。
※ 開発言語は問わないことにしますので質問するときはその辺を踏まえてお願いし
ます。
(以上、前スレより)
IEコンポーネントを使い倒すスレ
http://pc5.2ch.net/test/read.cgi/tech/982930049/
かなり前のスレですが続編を立てました。
0153デフォルトの名無しさん
2006/09/16(土) 09:36:170154デフォルトの名無しさん
2006/09/16(土) 09:43:590155デフォルトの名無しさん
2006/09/16(土) 10:03:02タブブラウザの実装による。
COMのインタフェースとして取得できるなら望みはあるけど。
普通はそこまでしてないだろうな。
0156デフォルトの名無しさん
2006/09/16(土) 16:41:080157デフォルトの名無しさん
2006/09/16(土) 17:57:000158デフォルトの名無しさん
2006/09/17(日) 02:46:280159デフォルトの名無しさん
2006/09/17(日) 13:59:170160128
2006/09/21(木) 00:37:35なんか別件で調べてたら偶然みつけた
VK_BROWSER_REFRESH
とかいうvirtual keyがあるらしい。XP/2000のみ有効らしいが。
0161152
2006/09/23(土) 23:02:35とてもマイナーな洋物タブブラウザなので無理そうですね…
スクリプトエラーの警告がうざすぎるので消したかったのですが諦めます。
0162デフォルトの名無しさん
2006/10/29(日) 18:23:48IEコンポが自分で作ったスレッド上で実行されるんですよね?
なのでそのイベント上ではメインスレッドと処理がぶつからないようにすべきなんでしょうか?
0163デフォルトの名無しさん
2006/10/29(日) 18:41:040164デフォルトの名無しさん
2006/10/29(日) 19:47:13自作プログラムの中は舞いコンピュータゾーン扱いされるのでは?
俺の想像だが。
0165デフォルトの名無しさん
2006/10/29(日) 20:12:04OEが使ってるのもそれ
0166デフォルトの名無しさん
2006/11/22(水) 17:06:05A版 NG
W版 OK
だったのが、
A版 OK
W版 NG
に変わってる(IE6ではどっちもOKだった)
MSがもはや何をしたいのか分らん。A版戻したってことは
日本語URL何が何でも排除って方針でもないようだが…。
もう自分で変換することにしたよ(´・ω・`)
0167デフォルトの名無しさん
2006/11/22(水) 17:07:07W版 NG
ってのは正式版ではってこと
0168デフォルトの名無しさん
2006/11/24(金) 13:30:42LPWSTR で非 ASCII 文字を含む URL を渡したとき、どういう動作をしてほしいの?
UTF-8でエンコードしてURLEscape?
漏れには何を持って「OK」「NG」とするのかもわからない。
0169デフォルトの名無しさん
2006/11/25(土) 10:31:20166だけど俺に対して書いたんだよね。
>漏れには何を持って「OK」「NG」とするのかもわからない。
内部動作的な詳細は知らないが、IE6状態で動いてたものが
IE7を入れると動作が変わるのがNG。
>UTF-8でエンコードして
たぶんこれでOKなんだろうが、上に書いたとおりInternetOpenUrl
の内部動作の実際は知らないので、「互換性を保ってくれ」というの
が要望。
非 ASCII 文字を含む URLを使うなという話もあるかもしれないが、
プログラムのユーザーが何を入れるかは分らないからどうしようも
ない。
0170デフォルトの名無しさん
2006/11/25(土) 14:55:35IE6の動作が基準だったらこれはトートロジーで書く意味ないじゃん。
IE6がバグっててIE7でバグが修正されただけかもしれないのに。
どうせバグでもいいから動作変えるなと言うんだろうけど
まあIEコンポはSide-by-Sideでないから一理はあるな
0171デフォルトの名無しさん
2006/11/25(土) 15:57:46A版とW版って文字コード以外動作同じだと思ってたんだけど
そうじゃない場合もあるのか?
文字コードの変換(A←→W)はAPI使ってる。
IE7で『バグが修正されて』どっちも駄目になるなら
まだ整合性も有るように感じるけどね。
>> に変わってる(IE6ではどっちもOKだった)
>IE6の動作が基準だったらこれはトートロジーで書く意味ないじゃん。
そう? 166を書いた段階での参考情報として付加したまで。
0172デフォルトの名無しさん
2006/11/25(土) 16:54:530173デフォルトの名無しさん
2006/11/25(土) 18:25:22>URLをUTF-8で送信
言われて、それらしきオプション、ONOFFどちらも試してみた。
けど変わらなかった。そういう問題でも無いみたい。
A版ならチェックがOFFでも日本語URL開ける。
0174デフォルトの名無しさん
2006/12/05(火) 14:43:35もしそうなら、代わりの機能とかどうにかしてMSChartを使うこととかできませんか?
0175174
2006/12/05(火) 19:15:17向こうで質問しなおしてきます。
失礼しました。
0176デフォルトの名無しさん
2006/12/06(水) 06:12:27Windowのサイズを変更したいのですが、WidthやHeightがわかりません。
どのように調べればよいですか?
0177デフォルトの名無しさん
2006/12/10(日) 00:28:130178デフォルトの名無しさん
2006/12/10(日) 04:02:540179デフォルトの名無しさん
2006/12/10(日) 11:38:52ここはどうすんの?
http://worlds-highest-website.com/
0180デフォルトの名無しさん
2006/12/10(日) 11:51:360181デフォルトの名無しさん
2006/12/21(木) 01:20:17BeforeNavigate2の段階で、
移動しようとしてるフォルダのpIDL取得する方法はないですか?
URLじゃなくて。
NavigateCompleteすればShellGetPathで取れるんですが
0182124
2006/12/26(火) 01:21:39では早速。
Internet Explorer_Hiddenウィンドウの役割と
IEのウィンドウで使われる独自メッセージについて調べているのですが、
うまく探せません。
いい情報を見かけた方、お教え下さい。
0183182
2006/12/26(火) 02:33:11124は間違い
0184デフォルトの名無しさん
2007/01/08(月) 19:04:39あるときにデータが途中で切れちゃうよママン。
まーPostData中に(っていうかアップロードしたファイル中に)NULLが入ってるんだろうけど
正確なPostDataのlengthって取れないのかな?
0185デフォルトの名無しさん
2007/01/08(月) 19:47:02自己解決、というか、KnownBUGだったよ。
http://support.microsoft.com/kb/890177
GET/POSTのデータ横取用プロキシ作って組み込むか。
0186デフォルトの名無しさん
2007/01/08(月) 22:32:300187デフォルトの名無しさん
2007/01/10(水) 20:07:45よろしくオナガイシマス
static CComQIPtr< IWebBrowser2 > pWB2;
こんな書き方良く見かけるのですがこれはpWB2にIWebBrowser2のポインタを
設定すると考えてよろしか?
COMコンポ全然わかんないんでスマソ
0188デフォルトの名無しさん
2007/01/10(水) 20:08:350189デフォルトの名無しさん
2007/01/10(水) 21:35:020190デフォルトの名無しさん
2007/01/10(水) 21:42:230191デフォルトの名無しさん
2007/01/10(水) 22:29:33VS2005なのですが、コンパイラの設定でATLを使用するに設定しないとだめ?
それでpWB2の値の意味は何なの?けっきょく
0192デフォルトの名無しさん
2007/01/10(水) 22:56:31CComQIPtr< IWebBrowser2 > 型の変数を宣言しただけで、値は設定していない。
C++の基本とVC のCOM向け拡張の両方とが解っていないと、
C++でCOMやるのは難しいと思う。
0193デフォルトの名無しさん
2007/01/10(水) 23:34:43COMとかなるべく関わりたくなかったんだけど、やらなきゃいけない羽目になって
苦しんでいます、pWB2の型は何型になるのでしょうか?
0194デフォルトの名無しさん
2007/01/10(水) 23:57:13CComPtrも基本はauto_ptrと同じだ。要するに解放忘れを防ぐための仕組み。
0195デフォルトの名無しさん
2007/01/11(木) 00:09:06pWB2の型はCComQIPtr< IWebBrowser2 >型と何度も(r
0196デフォルトの名無しさん
2007/01/12(金) 01:25:36開いてるページに埋まってるFrameの中を見ることは出来ないんですか?
0197デフォルトの名無しさん
2007/01/12(金) 01:37:570198デフォルトの名無しさん
2007/01/12(金) 02:02:29ありがとうございました。
0199デフォルトの名無しさん
2007/01/12(金) 11:54:54IEというかInternet Optionでの設定は反映されるんですが、
独自のProxy指定は出来ないのですか?
0200デフォルトの名無しさん
2007/01/16(火) 13:47:2032bit環境だとHWNDプロパティがInt32で返ってくるんだけど、
これって64bitだとどうなってるの?
IntPtrで返ってくる? それともInt64?
0201デフォルトの名無しさん
2007/01/21(日) 09:06:26ttp://www.hannan-u.ac.jp/~ichi/04/hasegawa/zeni.html
今時の卒論ってこんな程度なの?
0202デフォルトの名無しさん
2007/01/21(日) 09:11:010203デフォルトの名無しさん
2007/01/21(日) 11:50:200204デフォルトの名無しさん
2007/01/21(日) 11:53:390205デフォルトの名無しさん
2007/01/21(日) 15:01:08しかしながら現状としては�@�A�B個々のプログラムの方向性は出来上がってきたものの、
個々を関連付けるプログラムの作成には至っておらず、前述されている「タブブラウザ」への
組み込み、動作テスト等もまだ出来ていない状態である。最終的には独立したプログラムと
して完成させ、デスクトップ上で起動できる状態を目指していく状態にある。
何もしてねーwwwwww
0206デフォルトの名無しさん
2007/01/22(月) 00:14:040207デフォルトの名無しさん
2007/01/22(月) 00:27:18既に社会人で業務としての資料作りも慣れてる俺が言うのもなんだが、
内緒だけどあの程度プレゼン資料なら、前日の夕方から慌てて徹夜でデッチあげたりしてる。
0208デフォルトの名無しさん
2007/01/22(月) 00:40:35そうやってでっち上げたんじゃないのw
0209デフォルトの名無しさん
2007/01/22(月) 00:41:28まぁありかなw
0210デフォルトの名無しさん
2007/01/22(月) 00:50:16それとも学部がヲイなのか?
当然ゼミはヌルポなんだけど、学生はもっとガッされるべき。
0211デフォルトの名無しさん
2007/01/22(月) 01:39:03どこか分からん。国立じゃなさそうだ
0212デフォルトの名無しさん
2007/01/22(月) 01:41:460213デフォルトの名無しさん
2007/01/22(月) 02:13:40最初のかたどうぞ
↓
0214デフォルトの名無しさん
2007/01/22(月) 02:56:210215デフォルトの名無しさん
2007/01/22(月) 04:17:500216デフォルトの名無しさん
2007/01/22(月) 04:19:110217デフォルトの名無しさん
2007/01/22(月) 08:23:35【性別】 男/女
【年齢】 実年齢
【居住地】 現在住んでいる所を行政区程度まで
【職業】 ありのままに
【身長】 cm表記で
【体重】 kg表記で正直に
【スリーサイズ】 バスト・ウエスト・ヒップをcm表記で。
【画像URL】 全身ならびに顔写真を100万画素クラスで。
【メールアドレス】 携帯電話もしくは、プロバイダ等のアドレスを。
0218デフォルトの名無しさん
2007/01/23(火) 08:01:54学生の質が垣間見えた。
0219デフォルトの名無しさん
2007/01/25(木) 02:20:310220デフォルトの名無しさん
2007/01/25(木) 18:55:29わかったのですが、オブジェクト型を引数にとるjavascript関数に
引数を渡して実行することは不可能なのでしょうか
(例えばVCから IUnknown* の情報を渡したいとか)。
0221デフォルトの名無しさん
2007/01/26(金) 20:40:08今更だけどなんか見つけたよ。
http://isawseashell.blogspot.com/2007/01/via-proxy.html
0222デフォルトの名無しさん
2007/01/27(土) 02:14:46私も>>221のリンク先とと同じくUrlMkSetSessionOptionに
INTERNET_OPTION_PROXYを渡して実現してた。
問題なく動作するはず。
0223デフォルトの名無しさん
2007/01/27(土) 20:53:20を使ってる者ですが、
これを使って表示している場所から、別のリンク先をクリックした際に、
何を送信しているか補足する場所ってありますでしょうか?
Navigatingメソッドでは何もつかめなさそうですし。
画面上のHTMLソースだけではなく、HTMLヘッダーだけではなく、ファイルに書き出していない
メモリ上のクッキーの値もみたいのですが
知ってる方、よろしくお願いします。
環境
XP64 VS2005 C#
0224デフォルトの名無しさん
2007/02/02(金) 22:55:44ページを閉じるのを感知したいのですが
なにか方法あります?
0225デフォルトの名無しさん
2007/02/02(金) 23:03:590226デフォルトの名無しさん
2007/02/08(木) 19:13:13イメージとしてはプロキシサーバとかポップアップブロックみたいな感じ。
つまり間に一つ噛ましたいわけです。
どうしたらいいか教えてください。環境VC++
0227デフォルトの名無しさん
2007/02/08(木) 19:30:14Proxyを間に入れれば?
0228デフォルトの名無しさん
2007/02/08(木) 20:01:07そうしてみます。どうもでした。
0229デフォルトの名無しさん
2007/02/08(木) 21:38:06C#だけど。
0230デフォルトの名無しさん
2007/02/08(木) 23:02:14IEの表示文字サイズがなんになってるかとか 調べられないかな・・
どうやったら 調べられるか誰か教えてくれ・・・・
0231デフォルトの名無しさん
2007/02/08(木) 23:15:05いわゆる最大〜最小の文字サイズ?
それは初歩だと思うけど、「ExecWB OLECMDID_ZOOM」辺りでググれ。
0232デフォルトの名無しさん
2007/02/09(金) 01:14:240233デフォルトの名無しさん
2007/02/16(金) 14:31:51面白いってか、あれって卒論ってレベルじゃねーぞ。
なんか講義一回分の資料って感じじゃね?
街のパソコン教室って感じで、大学でやられても困るけど。
0234デフォルトの名無しさん
2007/02/21(水) 14:05:15Sleipnirのこれ
http://www.sleipnir-wiki.jp/original_index.php?FAQ#rbe2449f
はどういう実装になっているのでしょうか?
0235デフォルトの名無しさん
2007/02/21(水) 19:36:43Sleipnirの実装は知らんが、DonutRAPTのソースを落としてきて
AtlhostEx.h,ScriptErrorCommandTargetImpl.h,DialogKiller.h辺りを眺めてみればいいと思う。
対象言語がC++以外の場合は知らん。
0237デフォルトの名無しさん
2007/03/15(木) 18:12:34ボタンを押して、次のページに移動するプログラムを書いております。
dim wbrowser as object
Set wBrowser = CreateObject("InternetExplorer.Application")
wBrowser.all.Item(11).Click
ここで、
メッセージボックスが表示され「はい・キャンセル」を選択しなければなりません
エンターをSendkeysでよいのですが
sendkeys "{Enter}"
と記載しても、その前にIEオブジェクトに制御が移動するようで、できません
何方か解決策がありましたらお教え下しさい
0238デフォルトの名無しさん
2007/03/17(土) 06:03:520239237
2007/03/17(土) 13:10:46237は
某掲示板で非同期でよる方法で解決しました。
wBrowser.Document.Script.setTimeout "javascript:document.all.item(11).click()",1000
>プロセスもういっこ作ってそこで制御
そのやり方がいまいちよくわからないので・・・・
リンクが、下記のようにJavaで_blankの指定があるようで勝手にIEが表示されます
<a href="javascript:void(0);" onclick="doOpen5('hogehoge')">
これをIEオブジェクトで何とかしたいのですが、よろしければお教えくださいm(__)m
0240IE7入手先
2007/03/17(土) 16:46:25MSN版IE7
http://promotion.msn.co.jp/ie7/
http://download.msn.co.jp/download.aspx/sid=I7bzPs2A/ie7setup.exe
Yahoo版IE7
http://recommend.yahoo.co.jp/ie7/campaign/index.html
http://recommend.yahoo.co.jp/ie7/index.html
http://a109.g.akamai.net/7/109/31749/000/downloads.yahoo.co.jp/browser/ie/7/IE7Setup.exe
Google版IE7
http://www.google.com/toolbar/ie7/intl/ja/
http://dl.google.com/toolbar/data/ie7/IE7Setup_G_JP.exe
0241デフォルトの名無しさん
2007/03/24(土) 22:04:58その日によってURLが変わるんですけど
これをお気に入りにできませんか?
スクリプトのようなお気に入りってできます?
ローカルHTMLを経由してやるのは簡単ですが
ちょっと醜いやり方のような・・・
0242デフォルトの名無しさん
2007/03/25(日) 02:13:04日付に合わせてURLを作成して移動するbookmarklet作ればいいんでない?
0243241
2007/03/25(日) 09:45:27javascript:ってやつですね?
IE特有の機能で、多分スクリプトに関係しているので
ここか、と思いました。
普通のHTML内のスクリプトとはちょっと違いますし・・・
(上述のローカルHTMLならそうかも)
ちなみにここってBHOとかは作らないんですか?
どうもありがとうございました。
0244243
2007/03/31(土) 00:23:07独り言なのですが・・・
ブックマークレットってローカルファイルを表示中のIEからは
スクリプトブロックされて動かないみたいですね・・・
(XP SP2以前は動いたような?)
というかこういうのってどのスレに行けばいいのだろうか?
WSHでもHTAでもHTMLでもないし・・・
0245デフォルトの名無しさん
2007/03/31(土) 00:28:43Web制作板だっけ? そんな板があったハズ。
0246244
2007/03/31(土) 16:48:21以前にもWeb制作板内を探したんですが
やはりWebサイトを作る、という方向性で
IE依存のスクリプトやIE固有の機能に関しては
あまり積極的ではないような・・・?
スクリプトの場合、こことかはいいのかな、とも思うんですが・・・
ttp://pc11.2ch.net/test/read.cgi/hp/1070611524/
どうも度々すみませんでした
0247デフォルトの名無しさん
2007/04/08(日) 20:44:26Private Sub currentWebBrowser_documentComplete(ByVal obj As Object, ByVal e As AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent)
Dim doc As mshtml.IHTMLDocument2 = CType(currentWebBrowser.Document, mshtml.IHTMLDocument2)
Dim anchors As mshtml.IHTMLElementCollection = doc.anchors
For Each elem As mshtml.IHTMLElement2 In anchors
Dim htmlevents As mshtml.HTMLAnchorEvents2_Event = CType(elem, mshtml.HTMLAnchorEvents2_Event)
AddHandler htmlevents.onclick, AddressOf anchor_onclick
Next
End Sub
こんな感じで、アンカー要素のクリックイベントにanchor_onclickメソッドを関連付けたいのですが、
イベントが返ってこない?ようです。他の要素をHTMLElementEvent2_Eventにキャストして、
同じようにイベントを設定した場合は普通に動きます。どうすればいいでしょうか?
0248デフォルトの名無しさん
2007/04/09(月) 20:00:140249デフォルトの名無しさん
2007/04/16(月) 18:34:24IHTMLTxtRange 辺りかな?と思ったのですが、分かりませんでした。
0250デフォルトの名無しさん
2007/04/18(水) 22:08:02IEコンポ使ってhtmlの表示を行っている途中で
ある特定の<img src="xxx">が出現したら、その画像を置き換えたいのですが
やり方がどうもわかりません。
htmlを書き換えて一時ファイルを作成してとかではなく、メモリストリームとかで処理したいのですが
ヒントとか、解説があるサイトとかあれば教えてください。
0251デフォルトの名無しさん
2007/04/18(水) 22:17:48やだやだ…そんなところ舐めないでよぉ
0252デフォルトの名無しさん
2007/04/20(金) 05:58:23馬鹿のスクリプト厨で当然.NETもよく知らない俺ですが
ActiveXならbody.onloadのタイミングとかで
document.imagesを調べる、というのでは駄目でしょうか?
■ このスレッドは過去ログ倉庫に格納されています