1 名前:デフォルトの名無しさん [2006/04/16(日) 21:08:42 ] ===================================== IEコンポーネントを利用したブラウザのプログラミングに関する情報の交換及び再 利用を目的とした総合情報スレッドです。 ===================================== 最近IEコンポーネントを利用してブラウザを作るプログラマが増えてきました。こ れから自作してみようという人も多いでしょう。コンポーネントを貼り付けるだけ なら誰でも出来ますが複雑な制御を行うにはそれなりの経験や知識が要るようです。 私自身が知りたいのも山々ですが、似たような質問が分散するのを避けるためにも 統一しましょう。ブラウザ作者、COM に精通した方大歓迎です。もちろん公開した くない "禁断のテク" もあると思いますが、そこは各人の判断ということでお願い します。 ※ 開発言語は問わないことにしますので質問するときはその辺を踏まえてお願いし ます。 (以上、前スレより) IEコンポーネントを使い倒すスレ pc5.2ch.net/test/read.cgi/tech/982930049/ かなり前のスレですが続編を立てました。
404 名前:402 mailto:sage [2007/12/20(木) 23:32:51 ] >>403 だったら具体的なやり方書いてよ、天才プログラマーさん。
405 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 23:36:14 ] >>404 指定座標位置付近の文字をカーソルで選択して その選択文字列を読み取ればいい。
406 名前:403 [2007/12/20(木) 23:50:21 ] >>404 君はボンクラ 私は天才プログラマー ということでいいかね。
407 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 03:13:15 ] いいえ
408 名前:デフォルトの名無しさん [2007/12/21(金) 08:06:24 ] deftv.atspace.com/?X&1255970&0414@TestX1TV deftv.atspace.com/?X&1255970&0414?X&1255970&0414@TestX2TV deftv.atspace.com/?X&1255970&0414?X&1255970&0414?X&1255970&0414@TestX3TV
409 名前:デフォルトの名無しさん [2007/12/21(金) 08:07:35 ] Vista IE 7.0.6 Vista Grani 3.1 Vista Sleipnir 2.6.1 Vista Firefox 2.0.0.11 Vista Opera 9.24 Vista Safari 3.0.4
410 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 08:47:06 ] >>405 その指定座標付近の文字を選択ってのはどうやるんだ。 選択時のマウス動作をエミュレートすんのか。
411 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 12:28:59 ] >>408 精神的ブラクラ
412 名前:401 mailto:sage [2007/12/21(金) 12:50:22 ] みなさん、ありがとうございます。やっぱりちょいと難しそうですね。
413 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 13:07:00 ] >>410 カーソルで選択ってものすごい基本的なWindowsAPIじゃん。ウインドウズのプログラマなら誰でも知っているだろ。 マウス動作をエミュレートって・・・アフォカ
414 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 15:31:56 ] >>413 おお?それはテキスト入力にフォーカス当たった状態のこといってんの? そうじゃなくブラウザ上のふつうのテキスト部分の話とおもったんだが。 それもできるんか。
415 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 16:02:58 ] >>414 基本的なことをまったく理解していないな。ブラウザ上で普通に範囲選択してCtrl+Cあるいは、右クリックでコピーが実行できるじゃん。 それをプログラム的に実行するだけ。
416 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 16:05:02 ] >>415 ぜひ、そのコードを教えてください
417 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 21:19:44 ] これでWM_COPYとか言ってきたらズゴーなんだが。
418 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 23:05:37 ] JavaScript技でそんなのがあったな。Selectionオブジェクトだかを作って その占有領域の座標を取って処理するの。座標から近傍文字、の逆バージョンだけど、 ユーザーが選択操作してなくてもできてたので、この応用でなんとかならないかな?
419 名前:デフォルトの名無しさん [2007/12/21(金) 23:42:10 ] deftv.atspace.com/?V&v1656980d4H5CXht&0256@HiSpeedVision
420 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 23:46:50 ] >>415 いやだから、もっと具体的なコードかけよ、そこまでいうなら。 マウスエミュレートもプゲラって言った以上、それもしないコードだぞ? まず選択するためには、選択始点のテキストがどの座標に存在するか取得しないといかん。 ってかこの時点でこの件は目標は達成なんだが。
421 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 10:05:19 ] IHTMLElement から、実際の描画に使われてるフォントの種類やサイズを 調べるにはどうしたらいいですか? style とか見ても null なんですが、 他にどこを見ればよいものやら。
422 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 13:10:50 ] いまだに>>378 が分からないのですが・・・ pWB2->put_Visible(VARIANT_FALSE); では音は消えませんでした。もう少し詳しく教えて頂けませんか?
423 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 16:22:27 ] サムネイルのような画像を、そのリンク名と関連付けしてデータベース化したいと思っています。 表示中のサムネイル画像ファイルをキャッシュフォルダから拾う方法はあるでしょうか。 キャッシュフォルダには別名で格納されているようで、特定する方法が分かりませんでした。 作成日やサイズで特定しようにも、確実とは行きません。 直接GETする以外で何か良い方法をご存知の方、ご教示いただければと思います。
424 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 19:10:19 ] WinInet経由でいいなら、GetUrlCacheEntryInfoでキャッシュの情報が取れる。
425 名前:423 mailto:sage [2008/01/09(水) 09:59:39 ] >>424 これで何とかなりそうです。 すばらしい情報をありがとうございました。
426 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:43:43 ] プロキシ設定を自分のIEコンポーネントだけ別にすることはできますか? InternetSetOption(NULL,.... )だとシステム全体に影響が及んでしまうので、 hInternetを指定して制限をかければいいのだと思いますが コンポーネントが利用中のhInternetを知る方法が無いので困っています
427 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 18:45:46 ] >>426 私のソースにはこんなのがありました: UrlMkSetSessionOption(INTERNET_OPTION_PROXY, pInfo,sizeof(INTERNET_PROXY_INFO),0); これで動いてたような気がするけど、何年も前のブツなので要検証。
428 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 15:01:00 ] IEコンポーネントを表示せずに、NavigateやDownloadCompleteを使って、 データの取得を行うことは可能なのでしょうか?
429 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 15:27:09 ] 可能です
430 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 15:33:44 ] どうも有り難うございます。 う〜ん、すると、Windowsサービス化も可能なんでしょうか? System.Windows.Forms派生のクラスをnewした時点で、 変なことになっちゃうんでしょうか? Windowsサービスは作ったことないので想像もつかないのですが、 通常、UIはサービスを持てないのですよね? デスクトップとの対話をサービスに許可、とか設定せずに、 普通のデーモン的なデータ取得を行えると、だいぶ方向性が広がるのですが。
431 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 15:36:02 ] ううっ、下記の部分、逆でした。 >通常、UIはサービスを持てないのですよね? Windowsサービスは、普通はUIを持てないのですよね。 ユーザがログインしない状況でも、IEコンポーネントでデータ取得を 行えると嬉しいのですが。
432 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 21:18:39 ] それはIEコンポでなければならないのか?
433 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 09:07:26 ] う〜ん、取得したDOMを操作して、色々処理するので、 結局、何らかのブラウザエンジンは必要になるのです。 まぁ、ゲッコーとかに乗り換えるっていう手はあるのでしょうが、 IEコンポーネントを頑張って使い続けるか、 オープンソースのブラウザエンジンから不要なところをばっさり切って 使うかは、今後の大きな課題にはなるのですが‥‥。
434 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 18:48:48 ] >>430 そういうことは、人に聞くより自分で試したほうが早いぞ。
435 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 12:12:52 ] 質問があります IEではTAB、SHIFT+TABキーでフォーカスの移動が行われますが、 これを外部から行うにはどうすればいいでしょうか TABキーイベントを送る、というのはナシの方向で・・・
436 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 19:45:22 ] SetFocus
437 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 03:11:38 ] IEのフォーム部品はウィンドウを持ってないからSetFocusは役に立たない
438 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 04:34:22 ] IHTMLDocument2::all、 IHTMLDocument2::activeElement、 IHTMLElement2::focus
439 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 10:06:41 ] >126-127 面白そうだと思ってMinGW入れてやってみた。 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 g++ -Wall -c MSHTMLTest.cpp -o MSHTMLTest.o In file included from MSHTMLTest.cpp:2: HTMLWindow.h:7:22: mshtmhst.h: No such file or directory In file included from MSHTMLTest.cpp:2: HTMLWindow.h:73: error: ISO C++ forbids declaration of `IDocHostUIHandler' with no type HTMLWindow.h:73: error: expected `;' before '*' token K:\WINLCC\BIN\MAKE.EXE: Error code 1 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 ……人の作ったソースをmakeするのって、ほんと難しいよな。
440 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 10:16:03 ] えーと、要するにmshtmhst.hが無いわけだ。 >127のアーカイブと、MinGWのincludeフォルダの中には無し。 何故かBCCのincludeにあったやつを突っ込んで再度make。 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 g++ -Wall -c MSHTMLTest.cpp -o MSHTMLTest.o g++ -Wall -c HTMLWindow.cpp -o HTMLWindow.o g++ -Wall -c OleClientSite.cpp -o OleClientSite.o g++ -Wall -c OleInPlaceSite.cpp -o OleInPlaceSite.o g++ -Wall -c DocHostUiHandler.cpp -o DocHostUiHandler.o DocHostUiHandler.cpp: In member function `virtual HRESULT DocHostUiHandler::GetHostInfo(DOCHOSTUIINFO*)': DocHostUiHandler.cpp:109: error: `DOCHOSTUIFLAG_NO3DOUTERBORDER' was not declared in this scope DocHostUiHandler.cpp:109: warning: unused variable 'DOCHOSTUIFLAG_NO3DOUTERBORDER' K:\WINLCC\BIN\MAKE.EXE: Error code 1 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 順調かと思ったら、何だこれは…
441 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 10:16:18 ] >>436-438 ありがとうございます! 試してみます! ダイアログのように一発でやる方法があるかとさがしておりました!
442 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 10:30:21 ] "DOCHOSTUIFLAG_NO3DOUTERBORDER" が定義されていない… mshtmhst.h内で定義されてるはずのものなのか、それ以外のどこかなのかは 判らんが、とにかく無い。
443 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 10:47:47 ] うちのMsHtmHst.hタンには定義されてるよ
444 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 10:49:20 ] よし、Platform SDK落として、中のmshtmhst.hをMinGWのincludeに突っ込んだら出来た。
445 名前:デフォルトの名無しさん [2008/01/23(水) 23:59:25 ] すみません教えてください 取得したpElementがインラインフレームか 普通のフレームかを判定したいのですが 良い方法はあります?
446 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 00:28:36 ] tagName見るなりIHTMLIFrameElement取得してみるなりでいいんじゃね
447 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 01:07:54 ] >>446 ありがとうございます これをヒントに調べてみます
448 名前:デフォルトの名無しさん [2008/01/31(木) 10:55:56 ] ho
449 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 13:00:15 ] IInternetProtocol::Start()でゴニョゴニョするコードを書いているんだが、 呼び出し元のIWebBrowser2を取得することって出来ないのかな。 複数ウィンドウのブラウザで、IWebBrowser2が複数存在しているので、 グローバル変数では解決出来ない。 スレッドが分かれているわけでもないのでTLSでも解決できない。
450 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 16:02:17 ] >>449 IWindowForBindingUIでググれ
451 名前:デフォルトの名無しさん [2008/02/09(土) 01:17:35 ] すみません 教えてください 過去ログで見た気もしますが 見つけられなくて・・・ get_innerHTMLでHTMLソースを取った場合はIEが有る程度整形して ますが これを メニュー → 表示 → ソースで 表示されるようにオリジナルの大文字・小文字もある状態で 取りたいのですが可能でしょうか?
452 名前:デフォルトの名無しさん [2008/02/09(土) 02:09:13 ] kanou
453 名前:451 mailto:sage [2008/02/09(土) 02:27:55 ] >>452 すみません 困っています もし よろしければ教えていただけないでしょうか?
454 名前:デフォルトの名無しさん [2008/02/09(土) 23:24:16 ] MFCでURLジャンプ時のスクリプトエラー非表示はどうすればいいですか? IOleCommandTarget::Execで OLECMDID_SHOWSCRIPTERRORを使うのでしたら、 どのように使うのか教えていただきたいです。 【関連事項】 AtlhostEx.h ScriptErrorCommandTargetImpl.h DialogKiller.h
455 名前:デフォルトの名無しさん mailto:age [2008/02/10(日) 00:54:23 ] 今日のメニューについて zoomtv.atspace.com/?G&1zbuh@HiSpeedVision
456 名前:デフォルトの名無しさん [2008/02/12(火) 13:40:22 ] CreateWindow("AtlAxWin", "Shell.Explorer.2"・・・ としたときにsubmitやクリックできますか
457 名前:デフォルトの名無しさん [2008/02/27(水) 13:53:42 ] IE7になってマウスの真ん中ボタンで新しいウインドウで 開くようになったんですが、IEコンポーネントを使った あぷりでは、これは自分で書くしかないんでしょうか? それとも簡単に有効にする方法があるんですか? 知っている方いましたら教えてください。
458 名前:デフォルトの名無しさん [2008/02/27(水) 14:41:58 ] IEはIEコンポーネントを使ってるだけで、 真ん中ボタンクリックで新規ウィンドウはIEに実装されただけのもの。 IEコンポーネント自体にそういう機能があるわけではない。
459 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 14:48:16 ] >>458 ありがとう。 ということは自分でやるしかないんですね。 かなり大変そうですけど・・
460 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 15:53:19 ] >>459 おいおい、ボタン押してウィンドウ開くなんて大した手間じゃないだろう
461 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 17:46:36 ] >>456 AtlAxGetControl AtlAxGetHost >>460 新しいウィンドウで開くとなると結構処理が必要じゃない?
462 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 11:28:49 ] 大抵のダブブラウザは実装してる
463 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 04:18:40 ] ATL使わずにIWebBrowser2のイベントを取得したいんだけど、 どういうコード書けばいいのか参考になるサイトとかないですか 探し方が悪いのかATLなコードしか見つからないんです。
464 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 04:27:15 ] そんな事できるのか・・・
465 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 05:01:32 ] >>463 DWebBrowserEvents2のこと? だったら普通にOLEコントロール扱うようにすればいけるんじゃね? まあMFCとかATLとか使わずにやろうとすると死ぬほど面倒らしいが。
466 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 06:19:08 ] >>465 うん、DWebBrowserEvents2。 WindowsMobile版のIEコンポーネントを使ってるんだけど、 ATLでの実装がコンパイル通らなくて、 ATLなしでの実装にするか・・・?ってとこにたどり着いたとこ。 死ぬほど面倒ならATLが通る方法調べるほうが楽かなぁ。。
467 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 06:20:39 ] コンパイラはなに?
468 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 06:29:49 ] VS2005Pro、C++でやってる
469 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 08:03:29 ] コンパイルエラーの内容を書いた方がいいのでは。 あと接続ポイント周りをちゃんと理解すると光が見えるかも。
470 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 10:10:11 ] >>466 Essential COMに載ってるよ。ネストクラスしたりとかなり面倒だったけど ATLなし(Win32SDKのみ)でイベント取得までは確認できた。
471 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 10:50:34 ] VC++あるなら、CHtmlViewのソースでも見るとか。CHtmlViewが使えるならそれ使うに越したことはないと思うが。
472 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 02:59:40 ] IEコンポーネントのJavaScriptを一括で 無効にする方法ってありますか?
473 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:50:05 ] あるんじゃないの? 俺はやったことないけど、使っているブラウザ (Donut RAPT)が ボタン1つでオンオフできる機能を持っている。
474 名前:デフォルトの名無しさん [2008/04/24(木) 20:30:33 ] 表示してるページで右クリックメニューに追加した「irvineにすべてのURLを送る」みたいのを 自動で実行するのはどうしたらできますか?
475 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 02:08:05 ] MFCで組んでるんですが、いろんなサイトを見ていくと使用メモリが増える一方。 メモリリークしていると思ったほうがいいのでしょうか? それとも履歴蓄積によるものと考えてしまっていいのでしょうか?
476 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 02:28:31 ] >>475 メモリリークっていうか、開放し忘れじゃね? よくあるみたいだよ。
477 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 03:49:52 ] IEコンポーネントを使うとそうなるって問題もあったはず。 一旦アプリを最小化すると開放されたようになる。 本当にリークしてるのか、本当に開放されてるのか、分からないけどね。
478 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 12:15:51 ] >>477 最小化すると減るのはワーキングセットの量。
479 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 08:38:59 ] タスクマネージャーとかで見る使用メモリが増えていくからといって メモリリークしてるとは限らない。 ttp://kkkon.hp.infoseek.co.jp/tips/MFC/MemoryLeak.shtml この辺参考にしてみるといいかもね。
480 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 17:50:12 ] なんかFlash関係が動かなかったりするね。
481 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 19:30:41 ] IEコンポーネントでページを開くときに、ソケットで別の端末にページのURLを送って 同じページを開かせるようなプログラムを作ったんですけど CComQIPtr<IWebBrowser2> pWB2 pWB2->Navigate2(メッセージで送られたURL) としてURLにジャンプしようとすると、 「"URL"が見つかりません。パスまたはインターネットアドレスが正しいかどうかを確認してください。」 というメッセージボックスが表示され、メッセージ受信側のクライアントはURLにジャンプできません。 IEコンポーネントで表示させた、そのURLのハイパーリンクを直接クリックした時や 直接IEを起動してアドレス直打ちをした場合、正しくページに飛ぶことが出来ました。 また、メッセージ受信側がIE7を入れている場合ではジャンプできない現象が起きましたが IE6を入れているPCで試したところ、メッセージ受信側もジャンプすることが出来ました。 IE7になってからNavigate2周りで何か変更があったのでしょうか。 おとなしくIE6に戻るしかありませんか?
482 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 02:27:06 ] IEコンポーネントでHTML内に記述されたJavascriptの関数を実行したいのですが、 可能でしょうか?HTMLは自分で用意したものです。
483 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 20:27:54 ] >>482 できるよ。 スクリプトを動的に追加することができるから追加したコードで静的なコードを実行すればいい。 HTMLを自分で用意するんだったらIEコンポーネントでやる用途が想像できないけど?
484 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 04:39:22 ] >>483 homepage3.nifty.com/LILILIN/HOWTO/activex_javascript.htm このページの情報を参考にして実装する事ができました。 では逆にHTML側から、ブラウザ(アプリケーション)の関数を実行する事は可能でしょうか? さすがに無理ですかね、それは・・・
485 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 06:30:53 ] >>484 window.external経由ならわりと楽勝で。
486 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 09:43:36 ] IE拡張(BrowserObjectHelper)からマイドキュメントフォルダにファイル書き込んでるんだけど IE保護モードがじゃまして書き込めねぇ・・・ いくつかMSのサイト読んでレジストリいじったりしたが、相変わらず駄目だ 誰かやり方おしえて。
487 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 12:21:05 ] アウトプロセスのCOMサーバでも作ってデータ送って書き込ませれば?
488 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 09:31:02 ] それは最後の手にしたいな。 www.microsoft.com/japan/msdn/ie/general/protectedmode.aspx 書き込み時に、ブローカープロセスの昇格ってのが出るようにできるっぽいけど、 ここにあるようにレジストリに書いたがうまくいかん。
489 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 09:37:46 ] ああ、COMサーバーのCLSIDを登録するってことなんだな、これは・・・ うう、めんどくせー
490 名前:デフォルトの名無しさん [2008/05/23(金) 14:42:17 ] 「ページ内検索」がでねーよ 誰か知ってる? 失敗例: ::SendMessage(browser.GetSafeHwnd(), WM_KEYDOWN, VK_CONTROL, 0); ::SendMessage(browser.GetSafeHwnd(), WM_KEYDOWN, VK_F, 0); ::SendMessage(browser.GetSafeHwnd(), WM_KEYUP, VK_F, 0); ::SendMessage(browser.GetSafeHwnd(), WM_KEYUP, VK_CONTROL, 0);
491 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:58:46 ] >>490 HTMLID_FINDでググれ support.microsoft.com/?scid=kb%3Ben-us%3B175513
492 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 02:44:37 ] ダイアログに WebBrowser を 貼り付けて 表示しています。 その ページ内で window.close() を 呼んだら ダイアログ自体を終了するようにしたいのですが、 WebBrowserEvents のイベントを取得するような方法しかないのでしょうか?
493 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:33:24 ] ローカルにある js ファイル ページ表示後に実行したいので、 DWebBrowserEvents の Document Complete 後に Document に script タグを追加しようとしているのですが、 追加されません。 このやり方だとだめなのでしょうか? どこかにサンプルがあったりしますか?
494 名前:デフォルトの名無しさん [2008/06/13(金) 19:11:21 ] Win32APIすれから来ました HTMLを解析したいのでIHTMLDocument2を使おうと思っています CComPtr<IHTMLDocument2> aDoc; aDoc.CoCreateinstance(CLSID_HTMLDOCUMENT); aDoc->put_URL(CComBSTR("~ ")); //URLの読み込み(のつもり) aDoc->get_images() この put_URL を使うとブラウザで引数のURLを開いてしまい、また、get_imagesで取得したイメージコレクションのサイズが0になっています。 まず、「ブラウザを開かないでHTMLを解析したい」のと、「get_images で取得できていない」理由がよく解りません。 コマンドラインから使うツールのつもりなのでCUIの方がうれしいのですが、ダイアログかなにかで表示させる必要があるのでしょうか? #イメージとしてはURLを引数で渡すとそのページのIMG src="***" を抽出するプログラムです。
495 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 19:23:39 ] >>494 ここにサンプルがあったよ ttp://d.hatena.ne.jp/seraphy/20061124#p3
496 名前:デフォルトの名無しさん [2008/07/23(水) 00:24:40 ] IWebBrowser2から作ったIEコンポーネントで、フラッシュゲームのページでゲームのキー入力が 効きません助けてください! IOleInPlaceActiveObject::TranslateAcceleratorもメッセージループ内に入っています!
497 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 09:21:35 ] そういや俺もニコニコとかのフラッシュ使ったページでキー入力効かなかったことがあったな。 どうやって解決したか思い出したら書き込むよ。
498 名前:デフォルトの名無しさん [2008/07/23(水) 11:55:03 ] 質問です。 戻る、進むことが出来るか否かを判断するにはどうすればいいんですか? IWebBrower2のメソッドにそれらしき関数が見当たらなかったんだけど
499 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 20:05:14 ] DWebBrowserEvents2のCommandStateChangeかなにか
500 名前:デフォルトの名無しさん [2008/07/24(木) 18:42:51 ] >>499 遅レスですがありがとうございました!
501 名前:デフォルトの名無しさん [2008/07/24(木) 20:13:24 ] VC+ATLでタブブラウザっぽいものを作っています。 DWebBrowserEvents2のDISPID_NEWWINDOW2イベントで、 新しく開く遷移先のアドレスを知るためにはどうしたらいいんですか? OnNewWindow2のハンドラでIEが立ち上がるのをキャンセルするまでは分かったんで巣が。。 Donutのソースみたけどいまいち分かりませんでした・・・
502 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 19:21:06 ] NewWindow3にしちゃうのは?
503 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 14:53:44 ] WSH/VBScriptからNewWindow?でcancelできない?
504 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 20:08:34 ] IE6が入っているPCでは問題なく動作しているプログラムが IE7が入っているPCで正しい動作をしてくれません。 ttp://www.nitoyon.com/vc/tips/ie_component.htm このサイトを参考にC++(VC++)でIEコンポーネントを呼び出しています。 調べてみると、どうやらIE7でNavigate2を呼び出すと 正しくページに移動できないみたいですね。 色々調べてみたんですけど、VC++でのIEコンポーネントの使用で IE7に対応させるような方法が分かりません。 IE7環境でVC++からIEコンポーネントを呼び出して 正しくページ移動できるようなプログラムは可能でしょうか。