C++からJavaScript実行後の変数を使用する方法

このQ&Aのポイント
  • C++からJavaScriptで実行された後の変数を取得する方法について説明します。
  • 具体的な例として、ブラウザ上で表示されたページからJavaScriptによって生成された変数をC++プログラムで読み込む方法を解説します。
  • 変数をC++に取得するためには、JavaScriptとC++間でのデータの受け渡しを行う必要があります。
回答を見る
  • ベストアンサー

c++からjavascript実行後の変数を使用

https://swdlp.apple.com/iframes/81/ja_jp/81_ja_jp.html をブラウザで表示するとき、 https://a248.e.akamai.net/7/248/51/20120910/swdlp.apple.com/IframesJS/iframe_V_1.js によって binaryUrl= document.getElementById(elementId+":binaryUrl").value; によって、変数「binaryUrl」に「https://secure-appldnld.apple.com/QuickTime/091-8571.20140218.8MjJw/QuickTimeInstaller.exe」が入るのですが、 cf.)http://rigaya34589.blog135.fc2.com/blog-entry-502.html#comment2354 この実行結果をC/C++に読み込んで、例えば #include <stdio.h> int main(void){ char *binaryUrl; //ここでiframe_V_1.js の変数「binaryUrl」を読み込みたい printf("%s",binaryUrl); return 0; } みたいなことは可能ですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kumatti1
  • ベストアンサー率60% (73/121)
回答No.2

>doc3p」ってなんでしょう・・・。 ソースから察するにMSHTML::IHTMLDocument3Ptrなんでは。 (グローバル変数の) (APIでなくて)_bstr_tクラスを使った方が解放を自動でやってくれるので楽かも。

yumewiki
質問者

お礼

もうすこしC/C++について学んでからあらためて質問しようと思います。ありがとうございます。

その他の回答 (1)

  • kumatti1
  • ベストアンサー率60% (73/121)
回答No.1

VC++なら#importディレクティブで #import "shdocvw.dll" #import "mshtml.tlb" とでもして、コードを組めばいいのでは。

yumewiki
質問者

補足

つまり http://yamatyuu.net/computer/program/vc2013/htmlget4/index.html http://www.ne.jp/asahi/hishidama/home/tech/vcpp/webbrowser.html を参考にすると void htmlRead(TCHAR* urls,HWND hEdit){ MSHTML::IHTMLDocument2Ptr doc2p; MSHTML::IHTMLDocument4Ptr doc4p; MSHTML::IHTMLElementPtr elementp; HRESULT hr; // IHTMLDocument4Ptrの初期化 hr=doc4p.CreateInstance( MSHTML::CLSID_HTMLDocument ); if(FAILED(hr) ) return 2; BSTR bstrId = SysAllocString(_TEXT("system_OS_Hide_Show:2:win:radio")); binaryUrl=doc3p->getElementById(bstrId ); if(elementp == NULL) binaryUrl = 1; ::SysFreeString(bstrId); return binaryUrl } みたいにすればいいのでしょうか?「doc3p」ってなんでしょう・・・。

関連するQ&A

  • グローバル変数以外も変数は残り続ける?

    https://okwave.jp/qa/q9323518.html の続き var stoppingNow = false; がグローバル変数になっていないので仕様上はページ読み込み時に実行されて処理が終わった瞬間に この変数は削除されて使えなくなると聞いたのですが、 なぜかpauseBtnを押した後に、playBtnを押すと問題なく使えてしまいます。 グローバルにない変数は、stoppingNow = true;を実行してもそんな変数もうないとなるはずなのですよね? それともグローバルにない変数も残っていて、代入の処理よりも上、ないしは親のスコープにあれば使えるのが仕様なのですか? (function () { var stoppingNow = false; var pauseBtn = document.getElementById('js-pause-btn'); pauseBtn.addEventListener('click', function () { clearTimeout(it); stoppingNow = true; }); var playBtn = document.getElementById('js-play-btn'); playBtn.addEventListener('click', function () { if (stoppingNow === true) { iterative(); stoppingNow = false; } }); } myChange(); })();

  • c#のToString()メソッド

    http://msdn.microsoft.com/ja-jp/library/ms173154(v=vs.90).aspx のページによると C# では、すべてのオブジェクトが ToString メソッドを継承します。このメソッドは、該当するオブジェクトの文字列形式を返します。たとえば、int 型の変数はすべて ToString メソッドを持ち、次のようにその変数の内容を文字列として返すことができます ↑と書いてあるのですが、C言語しか知らない自分にとってint型の変数が関数、メソッドを持つ、 という概念が理解できません。これはオブジェクト指向の話なのでしょうか?クラスを理解すると わかるようになりますか? どなたかよろしくお願いします。

  • urlを変数に入れたい。

    掲示板のコメント欄にURLが記入された場合は、一番初めに書き込まれたURLを変数に格納したいのですが、方法が考えつけません。 以下の書込み内容の場合で例えますと、 -------------------------------------------------- あいうえおhttp://hoge.com/かきくけこhttp://hoge.jp/ さしすせそhttp://hoge.net/たちつてと -------------------------------------------------- $FORM{'comment'}から一番初めに書き込まれた文字列 (http\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%]+) を抽出して、変数に格納。 $url = 'http://hoge.com/'; このような感じです。 お手数ですが、宜しくお願いいたします。

    • ベストアンサー
    • Perl
  • JavaScriptでhtml内の変数の値を参照す

    るにはどうしたらいいですか? 現在JavaScriptでieのとある作業を自動化しているのですが、次のURLにジャンプする作業が上手くいきません。 次のURLの計算式は既にわかっているのですが、そのためには下記のようなスクリプトのタグで囲まれた部分にある要素paramsを取り出せなければできません。 <script type="text/javascript" language="JavaScript"> var params = {"NextURL":"http://test.com&gssid=c86800203ab0b0c91901940837ff00e6","FL":"3","BF":"1","KL",:"3"}; </script> タグ内の情報でしたらdocument.getElementById()などで指定すれば取り出せるのですが、タグで囲まれた変数を取り出すにはどうすればよいのでしょうか。

  • appleのHPが、、、

    今日のappleのサイト何か変じゃないですか? topページ apple.com/jp に行こうとすると http://a1410.g.akamai.net/7/1410/1437/20040323/ www.apple.com/jpred/に飛んでしまうのは appleのサイドのサーバーがおかしいのでしょうか? それとも自分のpcがおかしいのでしょうか。

    • ベストアンサー
    • Mac
  • 一つのリンク(ボタン)での2つのリンク要素をもたす

    インラインフレームにリンク表示とページトップにあるインラインフレームへの リンクの2つのリンク要素をもたしたいのですが… 今、<a href="http://store.apple.com/jp" target="00iframe">として 00iframeにはApple Storeが反映されているんですが、 00iframeがページの上部で リンクテキストがページの下の方にあるので、 できれば<a href="http://store.apple.com/jp" target="00iframe">この動きと、 < a href="#top">が一緒にできる方法はないでしょうか・・・ よろしくお願い致します。

  • MacBookAir M1の技術仕様について

    https://support.apple.com/kb/SP825?viewlocale=ja_JP&locale=ja_JP 「30W USB-C電源アダプタ」とありますが、この場合の30Wとはどういう意味でしょうか?

    • 締切済み
    • Mac
  • C# Font GdiCharSet

    掲題の通り、C#のFontクラスが持つGdiCharSetプロパティについてですが、 これは一体どういったときに使われるものなのでしょうか? msdnに記載されている値を入れれば何か変わるかと思いましたが、 変化は見受けられませんでした。 https://msdn.microsoft.com/ja-jp/library/system.drawing.font.gdicharset(v=vs.110).aspx かなり情けない話ですが、この疑問に対するアプローチの仕方すらよくわからず、 闇雲に調べてみてはいるのですが、全然分かりません… 大変お手数ですが、お詳しい方、ご教授をお願いいたします。

  • アイドルポップ または ロック

    以前は、洋楽でアイドルがたくさんいました。 かなり懐かしめになると思いますが、皆さんのアイドルポップ又はロックを教えてください。 アイドルの定義はないので、ご自由に(笑) 自分の場合、 Buster:Sunday http://m.youtube.com/watch?gl=JP&hl=ja&client=mv-google&v=zTtDvDXWO1c Flintlock:Dawn http://m.youtube.com/watch?gl=JP&hl=ja&client=mv-google&v=gX0F3S9ZG7E Hello:Tell Him http://m.youtube.com/watch?gl=JP&hl=ja&client=mv-google&v=sJ8C3vdLmXk&fulldescription=1 それと、シルビー バルタンのあなたのとりこ http://m.youtube.com/watch?hl=ja&gl=JP&client=mv-google&v=EN9YJQQHQPQ なんてのもいいですね

  • カスペルスキー でマルウェアを探知しました

    お願いします。 カスペルスキーの無料オンラインスキャン→完全スキャンをしたところ、二個の感染オブジェクトを感知しました。 レポートではこう出ました。 マルウェアを探知しました ファイル名 C:\pifmae\VBUSTER\Setup\Function\32bit\169\ja-JP\TS-RFL.zip 脅威の名称 Trojan-Downloader.JS.Iframe.aqo ファイル名 C:\pifmae\VBUSTER\Setup\Function\64bit\169\ja-JP\TS-RFL.zip 脅威の名称 Trojan-Downloader.JS.Iframe.ago と出ます。AVAST4を普段は使用してて、そっちでは感知しませんでした。カスペルスキーのサイトで駆除ツールも配布されてるようですが、 何個かあってどれを使えばいいのかわかりません。 また、脅威の名称を検索しても似たようなのは発見しましたが このものはよくわかりませんでした(英語は全くわからないので日本語のみ見ました) これは、駆除しないといけないのでしょうか? また駆除する場合はやり方を教えて頂きたいです。

専門家に質問してみよう