[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 02/17 11:13 / Filesize : 145 KB / Number-of Response : 555
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2006/04/16(日) 21:08:42 ]
=====================================

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

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


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

※ 開発言語は問わないことにしますので質問するときはその辺を踏まえてお願いし
ます。

(以上、前スレより)

IEコンポーネントを使い倒すスレ
pc5.2ch.net/test/read.cgi/tech/982930049/

かなり前のスレですが続編を立てました。

201 名前:デフォルトの名無しさん [2007/01/21(日) 09:06:26 ]
なんかこんなの見つけた。
ttp://www.hannan-u.ac.jp/~ichi/04/hasegawa/zeni.html

今時の卒論ってこんな程度なの?

202 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 09:11:01 ]
学校によるんじゃない?


203 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 11:50:20 ]
卒論wardファイルw

204 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 11:53:39 ]
スクリーンショットがDonut RAPTっぽく見えるんだが

205 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 15:01:08 ]
読んでしまった
しかしながら現状としては@AB個々のプログラムの方向性は出来上がってきたものの、
個々を関連付けるプログラムの作成には至っておらず、前述されている「タブブラウザ」への
組み込み、動作テスト等もまだ出来ていない状態である。最終的には独立したプログラムと
して完成させ、デスクトップ上で起動できる状態を目指していく状態にある。

何もしてねーwwwwww

206 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 00:14:04 ]
PCに縁遠い年寄り教授をだまくらかすにはこれで十分なんだろ

207 名前:デフォルトの名無しさん [2007/01/22(月) 00:27:18 ]
とってもw ard!

既に社会人で業務としての資料作りも慣れてる俺が言うのもなんだが、
内緒だけどあの程度プレゼン資料なら、前日の夕方から慌てて徹夜でデッチあげたりしてる。


208 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 00:40:35 ]
>>207
そうやってでっち上げたんじゃないのw

209 名前:デフォルトの名無しさん [2007/01/22(月) 00:41:28 ]
そんな卒論って・・・・・



まぁありかなw



210 名前:デフォルトの名無しさん [2007/01/22(月) 00:50:16 ]
大学がアレなの?
それとも学部がヲイなのか?
当然ゼミはヌルポなんだけど、学生はもっとガッされるべき。

211 名前:デフォルトの名無しさん [2007/01/22(月) 01:39:03 ]
阪南大学だってさ。
どこか分からん。国立じゃなさそうだ

212 名前:デフォルトの名無しさん [2007/01/22(月) 01:41:46 ]
4年も大学で学んであの程度ですか、そうですか。


213 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 02:13:40 ]
今日からここは自分の卒論を晒すスレになりました

最初のかたどうぞ



214 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 02:56:21 ]
freenetみたいだけど2chネラー向きのファイル共有ソフトの提案

215 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 04:17:50 ]
タイーホw

216 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 04:19:11 ]
IEコンポーネントの使い方をやさしく指導してくれるサイトや本ってあります?

217 名前:デフォルトの名無しさん [2007/01/22(月) 08:23:35 ]
以下のテンプレに従って質問してください。

【性別】 男/女
【年齢】 実年齢
【居住地】 現在住んでいる所を行政区程度まで
【職業】 ありのままに
【身長】 cm表記で
【体重】 kg表記で正直に
【スリーサイズ】 バスト・ウエスト・ヒップをcm表記で。
【画像URL】 全身ならびに顔写真を100万画素クラスで。
【メールアドレス】 携帯電話もしくは、プロバイダ等のアドレスを。


218 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 08:01:54 ]
相当偏差値低いらしい阪南大学。
学生の質が垣間見えた。

219 名前:デフォルトの名無しさん [2007/01/25(木) 02:20:31 ]
はいはい、次の卒論どうぞ。



220 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 18:55:29 ]
IHTMLWindow2::execScript で外部からjavascriptを実行できることは
わかったのですが、オブジェクト型を引数にとるjavascript関数に
引数を渡して実行することは不可能なのでしょうか
(例えばVCから IUnknown* の情報を渡したいとか)。

221 名前:デフォルトの名無しさん [2007/01/26(金) 20:40:08 ]
>>199
今更だけどなんか見つけたよ。
isawseashell.blogspot.com/2007/01/via-proxy.html


222 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 02:14:46 ]
>>199
私も>>221のリンク先とと同じくUrlMkSetSessionOptionに
INTERNET_OPTION_PROXYを渡して実現してた。
問題なく動作するはず。

223 名前:デフォルトの名無しさん [2007/01/27(土) 20:53:20 ]
System.Windows.Forms.Webbrowser
を使ってる者ですが、
これを使って表示している場所から、別のリンク先をクリックした際に、
何を送信しているか補足する場所ってありますでしょうか?

Navigatingメソッドでは何もつかめなさそうですし。

画面上のHTMLソースだけではなく、HTMLヘッダーだけではなく、ファイルに書き出していない
メモリ上のクッキーの値もみたいのですが
知ってる方、よろしくお願いします。

環境
XP64 VS2005 C#



224 名前:デフォルトの名無しさん [2007/02/02(金) 22:55:44 ]
すみません javaScriptでIEコンポ内の
ページを閉じるのを感知したいのですが
なにか方法あります?

225 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 23:03:59 ]
フォースを使え

226 名前:デフォルトの名無しさん [2007/02/08(木) 19:13:13 ]
htmlをブラウザに表示する前段階でhtmlを改変したいんです。
イメージとしてはプロキシサーバとかポップアップブロックみたいな感じ。
つまり間に一つ噛ましたいわけです。
どうしたらいいか教えてください。環境VC++

227 名前:デフォルトの名無しさん [2007/02/08(木) 19:30:14 ]
>>226
Proxyを間に入れれば?


228 名前:デフォルトの名無しさん [2007/02/08(木) 20:01:07 ]
>>227
そうしてみます。どうもでした。

229 名前:デフォルトの名無しさん [2007/02/08(木) 21:38:06 ]
自プロセス・別スレッドでProxyって感じの実装を今試してるよ。
C#だけど。




230 名前:デフォルトの名無しさん [2007/02/08(木) 23:02:14 ]
WebBrowserClassとかHTMLDocumentClassとかで
IEの表示文字サイズがなんになってるかとか 調べられないかな・・
どうやったら 調べられるか誰か教えてくれ・・・・


231 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 23:15:05 ]
>>230
いわゆる最大〜最小の文字サイズ?
それは初歩だと思うけど、「ExecWB OLECMDID_ZOOM」辺りでググれ。

232 名前:デフォルトの名無しさん [2007/02/09(金) 01:14:24 ]
人の卒論って面白いね^^

233 名前:デフォルトの名無しさん [2007/02/16(金) 14:31:51 ]
>>232
面白いってか、あれって卒論ってレベルじゃねーぞ。
なんか講義一回分の資料って感じじゃね?
街のパソコン教室って感じで、大学でやられても困るけど。

234 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 14:05:15 ]
スクリプトエラーのダイアログを非表示にしたいのですが、

Sleipnirのこれ
www.sleipnir-wiki.jp/original_index.php?FAQ#rbe2449f
はどういう実装になっているのでしょうか?

235 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 19:36:43 ]
IOleCommandTarget::ExecでOLECMDID_SHOWSCRIPTERRORを握りつぶす

Sleipnirの実装は知らんが、DonutRAPTのソースを落としてきて
AtlhostEx.h,ScriptErrorCommandTargetImpl.h,DialogKiller.h辺りを眺めてみればいいと思う。
対象言語がC++以外の場合は知らん。

236 名前:234 mailto:sage [2007/02/21(水) 21:27:42 ]
>>235
今からダウンしてくる。
thx!


237 名前:デフォルトの名無しさん [2007/03/15(木) 18:12:34 ]
IEオブジェクトを使用しあるページを表示し、
ボタンを押して、次のページに移動するプログラムを書いております。
dim wbrowser as object
Set wBrowser = CreateObject("InternetExplorer.Application")

wBrowser.all.Item(11).Click

ここで、
メッセージボックスが表示され「はい・キャンセル」を選択しなければなりません

エンターをSendkeysでよいのですが

sendkeys "{Enter}"
と記載しても、その前にIEオブジェクトに制御が移動するようで、できません

何方か解決策がありましたらお教え下しさい


238 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 06:03:52 ]
プロセスもういっこ作ってそこで制御

239 名前:237 mailto:sage [2007/03/17(土) 13:10:46 ]
>>238
237は
某掲示板で非同期でよる方法で解決しました。
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



240 名前:IE7入手先 mailto:hage [2007/03/17(土) 16:46:25 ]

MSN版IE7
promotion.msn.co.jp/ie7/
download.msn.co.jp/download.aspx/sid=I7bzPs2A/ie7setup.exe

Yahoo版IE7
recommend.yahoo.co.jp/ie7/campaign/index.html
recommend.yahoo.co.jp/ie7/index.html
a109.g.akamai.net/7/109/31749/000/downloads.yahoo.co.jp/browser/ie/7/IE7Setup.exe

Google版IE7
www.google.com/toolbar/ie7/intl/ja/
dl.google.com/toolbar/data/ie7/IE7Setup_G_JP.exe



241 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 22:04:58 ]
テレビ番組の番組表なんですけど
その日によってURLが変わるんですけど
これをお気に入りにできませんか?

スクリプトのようなお気に入りってできます?

ローカルHTMLを経由してやるのは簡単ですが
ちょっと醜いやり方のような・・・

242 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 02:13:04 ]
IEコンポーネントに関係あるかなぁそれ。
日付に合わせてURLを作成して移動するbookmarklet作ればいいんでない?


243 名前:241 mailto:sage [2007/03/25(日) 09:45:27 ]
THX!
javascript:ってやつですね?

IE特有の機能で、多分スクリプトに関係しているので
ここか、と思いました。
普通のHTML内のスクリプトとはちょっと違いますし・・・
(上述のローカルHTMLならそうかも)

ちなみにここってBHOとかは作らないんですか?
どうもありがとうございました。

244 名前:243 mailto:sage [2007/03/31(土) 00:23:07 ]
ええともはやスレ違いなので質問という訳ではなく
独り言なのですが・・・

ブックマークレットってローカルファイルを表示中のIEからは
スクリプトブロックされて動かないみたいですね・・・
(XP SP2以前は動いたような?)

というかこういうのってどのスレに行けばいいのだろうか?
WSHでもHTAでもHTMLでもないし・・・

245 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:28:43 ]
>>244
Web制作板だっけ? そんな板があったハズ。

246 名前:244 mailto:sage [2007/03/31(土) 16:48:21 ]
すいません・・・何度も・・・
以前にもWeb制作板内を探したんですが
やはりWebサイトを作る、という方向性で
IE依存のスクリプトやIE固有の機能に関しては
あまり積極的ではないような・・・?
スクリプトの場合、こことかはいいのかな、とも思うんですが・・・
ttp://pc11.2ch.net/test/read.cgi/hp/1070611524/
どうも度々すみませんでした

247 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 20:44:26 ]
質問です。

Private 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にキャストして、
同じようにイベントを設定した場合は普通に動きます。どうすればいいでしょうか?

248 名前:デフォルトの名無しさん mailto:sage [2007/04/09(月) 20:00:14 ]
他と全く同じようにしてムリならばムリなんだろう

249 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 18:34:24 ]
選択範囲の座標を得る方法を教えて下さい。
IHTMLTxtRange 辺りかな?と思ったのですが、分かりませんでした。



250 名前:デフォルトの名無しさん [2007/04/18(水) 22:08:02 ]
このスレってまだ生きていますよね。
IEコンポ使ってhtmlの表示を行っている途中で
ある特定の<img src="xxx">が出現したら、その画像を置き換えたいのですが
やり方がどうもわかりません。
htmlを書き換えて一時ファイルを作成してとかではなく、メモリストリームとかで処理したいのですが
ヒントとか、解説があるサイトとかあれば教えてください。


251 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 22:17:48 ]
tvde.web.infoseek.co.jp/cgi-bin/jlab-dat/s/23689.jpg

やだやだ…そんなところ舐めないでよぉ

252 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 05:58:23 ]
>>250
馬鹿のスクリプト厨で当然.NETもよく知らない俺ですが
ActiveXならbody.onloadのタイミングとかで
document.imagesを調べる、というのでは駄目でしょうか?

253 名前:デフォルトの名無しさん mailto:sage [2007/04/20(金) 07:05:59 ]
>>249
馬鹿のスクリプト厨です

IWebBrowser2::get_Document ->
IDispatch::QueryInterface(IID_IHTMLDocument2) ->
IHTMLDocument2::get_selection ->
IHTMLSelectionObject::createRange ->
IDispatch::QueryInterface(IID_IHTMLTxtRange) ->
IHTMLTxtRange::get_text

で、できました。スクリプトの場合と殆ど同じですね

254 名前:249 mailto:sage [2007/04/20(金) 08:23:56 ]
>253
どうもありがとうございます。
ただ、IHTMLTxtRange::get_textって、選択された文字列そのものですよね?
あいうえお
 ~~~~~~
  ↑ここが選択されている場合、「いうえ」が納まっている。

私が欲しいのは文字列そのものではなく、その選択されている範囲座標なんです。
例えば、xy座標で、左上が10:10、右下が20:60 みたいな。
要は、マウスでクリックした座標が、選択範囲内か、そこから外れた位置なのか?
を知りたいわけです。

255 名前:253 mailto:sage [2007/04/20(金) 21:54:40 ]
>>254
おおこれは大変勘違いしました。お恥ずかしい・・・
どうも申し訳ございません。忘れてください・・・

256 名前:デフォルトの名無しさん mailto:sage [2007/04/21(土) 14:59:24 ]
選択されていれば範囲内
選択されていなければ範囲外

257 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:41:12 ]
IHTMLDocumentから何とかIWebBrowserを取得する事ってできないですかね?

258 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 22:25:34 ]
「IHTMLDocument2からIWebBrowser2を取得する」なら
「ウインドウハンドルからIWebBrowser2を取得したい」で
ぐぐって出てくるコードに該当個所がある。

259 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 16:36:45 ]
250とかぶるけど、特定のURLへのリクエストを別のURLにリダイレクトしたい。
Navigate()再発行とかするとimg srcでうまくいかないからダメ。
OnBeforeNavigate2とかのタイミングで、URLをコッソリ書き換えることが出来ればいいんだが。

IInternetProtocolImplとかそのあたりを実装するんじゃまいかと思ってるんだが、誰か知らない?



260 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 18:45:00 ]
知らんけどイベントハンドラ実装した?

261 名前:259 mailto:sage [2007/05/17(木) 18:56:01 ]
>>260
OnBeforeNavigateイベントでURLを取得は出来るが、LPCTSTRなので書き換えは出来ない。

たぶんイベントじゃないと思うんだよね。PassthroughAPPとかそのあたりのヨカン。
ドキュメントが少なすぎてわからん。

262 名前:デフォルトの名無しさん mailto:sage [2007/05/17(木) 20:24:06 ]
OnBeforeNavigateでキャンセルしてNavigateじゃだめなん?

263 名前:259 mailto:sage [2007/05/18(金) 11:49:16 ]
>>262

それだと<img src=""> のときに画像表示がキャンセルされてページが遷移しちゃうからダメ。

264 名前:259 mailto:sage [2007/05/18(金) 12:10:07 ]
説明が足りないみたいなのでもう一回。

ある書き換え不能なサイトのHTMLに、存在しないサーバへの画像リンクが多数埋め込まれている。
オレは本当の画像の所在を知っているので、問い合わせ先サーバ名をこっそり差し替え、存在しないサーバが存在するかのようにレンダリングしたい。

プロセス外に影響がないようにしたいので、etc/hosts をいじるとかはしたくない。


265 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 15:31:59 ]
オミトロンを使えばいいような気がする

266 名前:259 mailto:sage [2007/05/18(金) 18:37:59 ]
>> 265
あーほんとだー できそうだー

267 名前: ◆PAa2MRiwDQ mailto:sage [2007/05/28(月) 16:12:55 ]
お世話になります。IEコンポーネントを使う練習をしていまして、
以下のようなコードを書きましたが、どうしても画像のダウンロードをコントロールできません。
そもそも、Invokeが呼び出されません。どこが間違っているのでしょうか?

VS2005です。

class CAmbientDispatch :
 public CComObjectRoot,
 public IDispatchImpl<IDispatch>
{
public:

BEGIN_COM_MAP(CAmbientDispatch)
 COM_INTERFACE_ENTRY(IUnknown)
 COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()

 STDMETHOD(Invoke)(DISPID dispidMember, REFIID riid,
  LCID lcid, WORD wFlags, DISPPARAMS* pdispparams, VARIANT* pvarResult,
  EXCEPINFO* pexcepinfo, UINT* puArgErr)
 {
  if (dispidMember == DISPID_AMBIENT_DLCONTROL) {
   V_VT(pvarResult) = VT_I4;
   V_I4(pvarResult) = DLCTL_DOWNLOADONLY | DLCTL_NO_SCRIPTS | DLCTL_NO_JAVA | DLCTL_NO_DLACTIVEXCTLS | DLCTL_NO_RUNACTIVEXCTLS;
  }
  return S_OK;
 }
};
CComObject<CAmbientDispatch> ad;


268 名前: ◆PAa2MRiwDQ mailto:sage [2007/05/28(月) 16:14:54 ]

CAxWindow ie;
ie.Create(*this, rect, _T("Shell.Explorer"), WS_CHILD|WS_VISIBLE);

CComPtr<IAxWinAmbientDispatchEx> adex;
ie.QueryHost(&adex);
adex->SetAmbientDispatch(&ad);

CComPtr<IWebBrowser2> wb2;
ie.QueryControl(&wb2);

CComQIPtr<IOleControl> poc(wb2);
poc->OnAmbientPropertyChange(DISPID_AMBIENT_DLCONTROL);

269 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 19:58:16 ]
Vista絡みで質問です。
CoCreateInstance()にて生成したIEに対して Navigate() すると新しく別のウィンドウが開いてしまいます。
元のIEのアドレスバーに適当なURLを入れると、
「この Web ページを開くために、Internet Explorer で新しいウィンドウを開く必要があります。
お使いのコンピュータのセキュリティのため、違うゾーンの Web サイトは別のウィンドウで開く必要があります。」
と言われて、また別のIEが開いてしまいます。Win2K(IE6)では動作確認済みです。
CoCreateInstance( CLSID_InternetExplorer, NULL, CLSCTX_ALL, IID_IWebBrowser2, (void**)&iweb ) );
iweb->put_Visible( VARIANT_TRUE );
CComVariant url( "www.google.com/" ), flags( 0 ), target( "" ), post( "" ), headers( "" );
iweb->Navigate2( &url, &flags, &target, &post, &headers );
エラー処理は省略してますがこんな感じです。
何か処理が足りて無いのだと思うのですが、よろしく願いします。



270 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 12:29:56 ]
>>269
Vistaを使ってないのでわからないですが、
Vistaでは他のゾーンにジャンプする場合
必ず他ウィンドウで開く仕様なんじゃないですか?

最初にInternetExplorerオブジェクトが生成された場合のゾーンが
インターネットゾーンじゃないんでしょうね。
XPでもオブジェクト生成すると
アドレスバーには何も無いものが出てくるので
初期ゾーンが何かよくわからないですが・・・

くだらないやり方ですがiexplore.exeにURLを指定して起動すれば
ゾーン間ジャンプを避けられるんじゃないでしょうか?
それで後からShell.ApplictionでIWebBrowserを探して取得する、とか。

271 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 12:39:30 ]
>>267
私はATLもMFCも知らないのでよくわかりませんが、
Invokeが呼び出されない、というからには
IDispatchが使われてないんでしょう。
IDispatch継承のカスタムインターフェースを実装したオブジェクトの場合
IDispatchが呼び出されるかカスタム部分が呼び出されるかは
場合によって異なります。
スクリプト言語やVBでレイトバインディングを使うと
IDispatchが呼び出されますが
それ以外の多くの場合にはカスタム部分が呼び出され、
IDispatchは無視されるはずです。

272 名前:VC-- [2007/06/30(土) 17:34:02 ]
vcでCHtmlViewを継承して、javascriptを操作するプログラムを作りたいんですが・・・
とりあえず、CHtmlView::Navigate2を使って、URLを表示しただけで、具体的な方法が
わかりません。

例えば、あるサイトで画像をクリックしたら、画像が変化する(javascriptで実装)みたいなプログラム
があったとして、擬似的に発動させる方法が知りたいです。
キーボードイベント、マウスイベントで発生させる以外の方法で
知ってたらご教授願いします。

273 名前:デフォルトの名無しさん [2007/07/12(木) 01:24:53 ]
          _,l;;;;;;;;;;;;;;;;;;;;;;;;;;;l,,_
        ,.r'´,.    -┐   ':..,゙ヽ
       ,r' ,::;:'    ,ノ ヽ、    ゙:::.ヽ
      ,.' _.,:;:'___ _立_  ___;;ミ゙、          ̄ノ ̄| ̄
     .l厄巳厄巳厄 i王i ,.巳厄巳厄巳l           ,勹 .├‐''
     l´ , "´  ̄ ̄ ̄ `'''′  ̄ ̄ ̄`.:`{         ´_フ  ヽ、_,
     | l ;;:.,.   ::、.       ...   '゙|
    ,.-''、.,! ,.::'    ヽ、:.゙、 ;;.:' ''  ヽ | ,.、       __l__
   ./  、/ `ヾー─tッ−ヽ''  kーtr─ツ'´〕. ヽ.        |
  / {´i Y::::..   ` ̄ ̄´.: "i! ::. 、` ̄´ ゙:::.、} r、 l        i,____
  | ヾ_,,入;:::.. `'' " ´.::; .::i! ::..  ```  :. }ツl l
  \  ノ ヾ ;:::.   .:r'' :: ll! :ヽ;:..:.   .: j,ノ ,!       ┬‐┌,┴┐
    ヽ',,;l  ゙i ;::.. _ `ヽ、;;,,,,'.ィ'' _,, .::,;r'1,,,/           l__ ノl士
  ッジ::::::|  ゙ ,r'´:::;;;;;;;::>  弋´;;;;;::::ヽ'" |:::::゙'イィ      ノ凵  l土
 弍:::::::::::l  /:::;r'´ ,,..-ー…ー-、 ヾ;:::'、  |:::::::::::ヒ
  シ:::::::::::l   i':::,!  ´  __  ゙  l::::l:. |::::::::::ス       __ヽ__‐┬┐
  彡;:;:::::l  l:::l     ''''''''⇒;;;:,   l:::l  |::::;;ャ`        ニ メ ,ノ
  ,r', 广'`ヽl:::l ::::. .::     ゙::.   l::l ノ^i`、         l ̄l ハヽヽ
 ,イ(:::j    i::;ヘ  :;:.       .::   l::l'"  l:ヽヽ         ̄   ̄
 |;:ヽヽ   l::l  ヽ ;:.... ..  .. :  /l::l   ノ ,.イ
 |;:;:;:;\\ l::l   ', :;.:;::::::::::..::.  /  l::l,r'' /;:;:;|


274 名前:デフォルトの名無しさん [2007/08/04(土) 13:58:59 ]
IEとかエクスプローラのアドレスバーから検索するときの
urlってどこから取得できるんだろう

275 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 14:56:19 ]
レジストリでも検索してみたら?

276 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 21:40:42 ]
regmonでみれば?

277 名前:デフォルトの名無しさん [2007/08/15(水) 11:42:40 ]
もうどうしても解決できなかったので質問させてください。
downloadcompleteイベントだけがどうしても発生しません。

環境 EXCEL2003sp2 VBA XPSP2 ブラウザ6.0

navigatecomplete2,documentcompleteは発生します。ただrefreshをさせたときは動作しない、(上のほうのレスにもあります)ので
downloadcompleteを使いたいのです。
一番近い私と同じ症状を下記ページで見つけました
www.microsoft.com/japan/msdn/community/gdn/ml/WebTech_beginners.aspx
↑の「WebBrowser コンポーネントの DownloadComplete イベントにうついて」です。
がmshtml.dllはPCに入っています。参照設定に問題あるのかと思いましたが、よく分かりませんでした。
F2キーを押してオブジェクトブラウザを見てもちゃんとdownloadcompleteはありますから、問題はないと思うのですが・・。

busyをdo loopはできればやりたくないです。
StatusTextChangeを使うのもサイトによっては問題が起きるでしょうからできれば避けたいです。

問題のxlsファイルをUPすることもできます。

278 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 01:28:34 ]
すでに開いているIEのセッションからクッキーを取り出し、
IEコンポーネントを利用した自アプリでそのクッキーの情報を使う、
みたいなことは可能でしょうか?
あるいは単純に既存のIEと自アプリとでセッションを共有できればいいのですが、
レジストリでBrowseNewProcessというキーをNoにすることで全てのIEが
同一のプロセスで起動されるという情報がMSサイトにありましたが、
どうも効果がないようなんです。

279 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 22:20:26 ]
IEコンポーネントで自分のuseragentを取得するのはどうやるんだぜ?
JavaScriptsだとnavigator.userAgentだと思うがVC++のやりかたわからんのだぜ




280 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 02:16:36 ]
UrlMkGetSessionOption

281 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 20:27:24 ]
>>280
d

282 名前:デフォルトの名無しさん mailto:age [2007/08/23(木) 22:03:01 ]
IWebBrowser2::GetLocationURLでIEで表示されいてるURLを取得したのですが、IE7などのタブで現在表示されているかいないかの判定方法があれば教えて下さい。

283 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 20:01:34 ]
自己怪血。ググッて>>282にヒットしたヤシはここ嫁
www.codeproject.com/shell/AutomateShellWindow.asp

284 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 20:24:40 ]
IEコンポを使った専用ブラウザを作ったのだけど、
ツール>インターネットオプション>セキュリティ>レベルのカスタマイズ
その他>混在したコンテンツを表示する
をOFFにしたいんだけど、どのInterfaceから操作できるんでしょうか?

285 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 02:58:47 ]
>>128
msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdnbrowse/htm/top.asp

DHTMLオブジェクト モデルのおかげで、ページの構造をその場で修正できますが、
F5キーを押すか、ブラウザの[最新の情報に更新(Refresh)]ボタンをクリックしたと
たんに変更内容がすべて失われます。DocumentCompleteイベントを処理してコード
ウィンドウを最新の情報に更新することもできます(DownloadCompleteイベントは、
DocumentCompleteよりも前に発生することに注目してください)。ですから、ページを
初めてダウンロードするときに発生するDownloadCompleteは無視して、更新によって
発生するときだけ、このイベントを扱うようにします。単純なBoolean型のメンバ、たとえ
ばm_bDocumentCompletedなどを使えば、このような状況を簡単に区別できます。

286 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 13:26:08 ]
ie6までは、貼り付けたieコンポーネント内のリンクを
ユーザーが Enterキーで開くことが出来たのですが、

ie7から、開くことが出来なくなりました
キー操作でリンクを開く方法って、ないでしょうか???

287 名前:デフォルトの名無しさん [2007/09/26(水) 13:40:19 ]
www.nitoyon.com/vc/tips/ie_component.htm
↑のHPの真ん中当たりのページを解析する/変更する2のソースなのですが、
コピペして実行しても期待通りの動作をしません。

if( strcmp( pszBuf, "temp") == 0){
 // innerHTML を設定
 pElement->put_innerHTML( L"hogehoge") ;
}

このif文の中には入るのですが、put_innerHTMLでHTMLにhogehogeと表示させる事が出来ません。
対象のHTMLには<p id="temp"></p>のように記述しています。
どなたか詳しい方助けてください。

288 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 20:55:53 ]
>>287
俺がやったらうまくいったよ。
そのページを書いた人もおそらくうまくいっただろうし、
お前のプログラムに何か問題があるんだと思う。

何か変にいじっていない?

289 名前:デフォルトの名無しさん [2007/09/26(水) 21:21:21 ]
>>288
特にいじってないですが・・・
その試してみたソースうpしてもらえませんか?

それか俺のHTMLの方のソースに問題があるのかな・・・
そっちの線はうすいと思うけど・・・



290 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 22:00:22 ]
>>289
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4975.txt

IEコンポーネントの使い方2のソースを基に、
WM_CREATEでいきなりローカルのHTMLを表示するようにし、
GOボタンを押したときに例のテキスト変更の処理を行うようにしてある。

あとどうしても気に入らない点を自分のスタイルに書き換えているが気にするな。
VC++ 8だから"AtlAxWin80"にしてあることにやや注意。

291 名前:デフォルトの名無しさん [2007/09/26(水) 23:22:34 ]
>>290
ありがとうございます。ちょっと今アホな事してしまって開発環境があぼんしてしまったので、
再度環境を整えたら試してみます。

292 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 15:21:53 ]
>>291
ん〜どうやら
pElement->put_innerHTML( L"hogehoge");
の文でデバッガが立ち上がって落ちます。
<body>タグの間に

<p><div id="temp"></div></p>

って書いてるのですが、もしかして根本的に何か違いますかコレ

293 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 18:49:56 ]
と、思ったら、ビルドをdebugからreleaseに変えたら無事動作しましたm(_ _)m

294 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 05:36:23 ]
IEコンポーネントを利用してWin32で作成したウィンドウ内にHTMLを表示させているのですが、
表示させているHTML内のJavaScriptから、アプリケーション側の関数を実行する事は可能でしょうか?

295 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 20:35:21 ]
ウイルスでも仕込むつもり?


296 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 21:58:22 ]
>>295
いえ、ただJavaScriptで出来ない処理をアプリケーションに任せようと思って・・・。
逆は出来るんですけど、JavaScript側からアプリケーションの関数の実行は出来ないのでしょうか?

297 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 22:15:41 ]
>>296
できるよ。externalで実装する。説明はめんどくさいからしないけど、
需要がある話なのでMSDNとかに載ってるんじゃないかなあ。

298 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 22:19:42 ]
>>297
externalですか。ちょっとググってみます。
なんか1から丁寧に解説してくれてるサイトがあればいいのですが、
なかなかそういうのが見つからなくて結構困ってます。
VisualStudioの構造体の中身が勝手に表示される機能をつかって、
メソッド名から機能を予測して色々試してみる方法には限界が・・・

299 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 22:28:05 ]
今アプリケーション側からJavaScriptの関数の実行はURLにjavascript:関数();でやってるのですが、
external使うともう少しちゃんとした方法で出来そうな感じですね。ただ使い方がさっぱりですが。



300 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 22:31:35 ]
>>299
おまえ>>287だろ。マルチ野郎は氏ね。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<145KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef