• 締切済み

ActiveXをHTMLから呼び出す際

ZiPhoneIIという電話端末をActiveX+HTML+Javascriptで制御するコードを書いています。 この際、レジストリの HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{A48F4ED5-7E74-45F0-B09F-2B9768A81ED0}\ProgID では「ZIPHONEPLUS.ZiPhoneCtrl.1」となっています。 しかし <object id="ZiPhone" classid="clsid:A48F4ED5-7E74-45F0-B09F-2B9768A81ED0"></object> だとうまくいくのですが、 <object id="ZiPhone" progid="ZIPHONEPLUS.ZiPhoneCtrl.1"></object> だとうまくいきません。 色々参考ドキュメントを読んでみたのですが、いまいち解消方法がわかりません。 どなたかご教授いただけませんでしょうか。

みんなの回答

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

object 要素には progid 属性はありません。 https://developer.mozilla.org/ja/docs/Web/HTML/Element/object また、マイクロソフトの独自拡張としてあるかもと思って MSDN を確認しましたが、そちらにも属性として progid はありませんでした。 http://msdn.microsoft.com/ja-jp/library/cc392144.aspx つまり、ProgId の名前を使って ActiveX を呼び出すのはできない、ということです。 まあ考えてみれば当然ですね、もし同一の ProgId で別のオブジェクトがあったならどっちを呼び出したらいいかわかりませんから。

関連するQ&A

  • ActiveXコントロールのHTMLへの貼り付け方その2

    たびたび恐れ入ります。 自作ActiveXコントロールをHTMLに貼り付けたいのですが、まず、MFC ActiveX Control Wizardでスケルトンを作成しました。 (smp01というプロジェクトにしてあります) これは円を表示する機能を持っていますよね。 ひとまずこれをHTMLに貼り付けて表示したいのですが、うまくいきません。 なにが間違っているのか、抜けているのかも分かりません。 HTMLのサンプルは以下のとおりです。 <HTML> <HEAD> <TITLE> ActiveXコントロールサンプル01 </TITLE> </HEAD> <BODY> <OBJECT ID="smp01" WIDTH="100" HEIGHT="100" CLASSID="clsid:918576E5-324D-4480-825B-5B35A317594B" CODEBASE="d:/vc/smp01/Debug/smp01.ocx#Version=1,0,0,1"> </OBJECT> </BODY> </HTML> どうぞ宜しくお願いします。

  • MFCでActiveXの作り方

    VS6(SP5)+Win2K(SP4)で開発しています。 MFCでActiveX(OCX)までは、作成できたのですが、 それを、どうやってWebページ上で動かすかが分りません。 Webページとかでいろいろ探してみたのですが、下記のようなHTMLでテストをしましたが、ダウンロードがうまく行かず、「Download ProgramFiles」フォルダで不明となってしまいます。 どこかが、間違っているのだと思うのですが、どこでしょうか? HTML------------------- <html> <body> <p>test</p> <OBJECT codeBase="./MMOutput.cab#version=1.0.0.1" id=PSDWC1 height=357 classid="clsid:626F7510_1B6A_4F45_A8F8_56D4F9972DCE" width=343> </OBJECT> </body> </html> inf-------------------- ; Sample Inf file [Version] signature="$CHICAGOS" ;AdvancedINF=2.0 [Add.Code] MMOutput.ocx=MMOutput.ocx [MMOutput.ocx] file-win32-x86=thiscab CLSID={F6FE5E43-B7A5-48D9-9E5F-1014D9C560D6} FileVersion=1.0.0.1 ;DestDir=11 ;RegisterServer=no

  • VC++で作ったActiveXコントロールをHTMLに貼り付けたい

    MFC ActiveX Control Wizardを使って、ActiveXコントロールを作ろうと思っています。 作ったものをHTMLに貼り付けて結果を見てみたいのですが、 <OBJECT>タグに書き込む CLASSIDをどうしてよいのやら分かりません。 CLASSIDの後に書かれている長い英数字の羅列がActiveXコントロールを示しているんですよね? この長いID番号やらはどうやって作ればいいのでしょうか? 具体的にHTMLに貼り付ける方法などが全くわからないので、どうぞ宜しくお願いします。

  • ASP.NetでのActiveX

    ASP.Net開発に関してご質問があります。 現在aspxにActiveXを貼り付け、そのパラメータをJavaScriptでいじっています。 そのActiveXをサーバコントロールとして扱うことは可能なのでしょうか? 以下のようにHtmlに記述し、aspx側にそのコントロールを足してみたのですが。。 <OBJECT id="test" codeBase="AAAAAAAAAA" classid="clsid:0555558F-7D5F-11D2-A1C7-006008E3229E" VIEWASTEXT runat="server"> ビルドはできるのですが、以下のようなエラーがでてしまいます。 『解析エラー メッセージ: GUID には、ハイフンを 4 つ含む 32 桁の数字 (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) を含んでいなければなりません。』 見当違いなことをお聞きしているかもしれませんが、よろしくお願いいたします。

  • VC++でActiveXコントロールを作りたいのですが

    IEから <OBJECT CLASSID="CLSID:***"></OBJECT> で使えるActiveXコントロールを作りたいのですが、よくわかりません。 VC++では、MFC ActiveX ControlWizard で、ActiveXコントロールが作れるようですね。とりあえずプロジェクトを作って、そのまま何もしないActiveXを作って、ブラウザで表示したいと思っても、どのようにしたらいいのか、そこから分かりません。 HTMLを書いて、ブラウザで表示させようとしてますが、何か抜けていたり、おかしかったりするでしょうか。 かなり情報不足かもしれませんが、何かヒントがいただければと思います。よろしくお願いします。

  • subinacl.exeでの変更が反映されません

    先日レジストリ項目のセキュリティ設定変更について質問した者です。 subinacl.exeを使うといいということでしたのでやってみましたがうまくいきません。 R:\>subinacl /subkeyreg "HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder" /setowner=Administrators CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder : builtin\administrators is the new owner HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder : 1 change(s) Elapsed Time: 00 00:00:00 Done: 1, Modified 1, Failed 0, Syntax errors 0 Last Done : HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder これを見ると成功しているように思われるのですが、所有者はSystemのままです。 そして不思議なことにペアになるWow6432Nodeの方はこのやり方で問題なく変更できます。 どこに原因があり、どうしたらうまくいくのでしょうか。

  • regsvr32でActiveX登録を行ったocx

    regsvr32 で ActiveX登録を行った ocx がリソースエデイタ「のActiveX コントロールの挿入」で使用できなくて困ってます。 開発環境は VisualStudio2005 の VC++ で、Version は 8.0.50727.867 になります。 レジストリエディタで確認すると以下のレジストリキーで登録されていることを確認できるのですが。 HKEY_CLASSES_ROOT\CLSID\{9BD4A8F2-56BA-11D3-915D-00C04F797034} 『ActiveX コントロール テスト コンテナ』の「コントロールの登録」ダイアログで表示される一覧中には含まれていません。 また、「コントロールの登録」ダイアログで「登録」ボタンを押しても一覧に追加も行われません なんとなくセキュリティっぽい事までは分かるのですが、どなたかヒントをお持ちでしょうか?

  • WinXP SP2でActiveXコントロールをスムーズに表示する

    下記のようなソースでコントロールを呼び出しておりましたが、XP SP2で、コントロールの読み込みが遮断されます。 <OBJECT ID="OtameshiX" width="0" height="0" CLASSID="CLSID:12345678-1234-5678-1234-123456789012" codebase="http://hoge.com/otameshi.cab"> </OBJECT> どのようにしたら回避できるのでしょうか? コードサイニングに高いお金を払えば済むのでしょうか?

  • ウイルスの削除方法について

    TROJ_HARNIG.GENというトロイの木馬タイプに感染しました。そのため、レジストリ値を削除しようと思うのですが、HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{64E40826-F9E2-445D-969C-EE27EEF4D0DC}\InProcServer32 と HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{64E40826-F9E2-445D-969C-EE27EEF4D0DC}\InProcServer32 のファイルが見つかりません。 どのように対処したら良いですか?

  • objectタグでHTMLを表示する方法について

    現在,個人的な興味からウェブページの中に複数のページを表示させる方法について調べています. 今のところ,framesetとiframe,そしてobjectタグを使った方法があることがわかりました. しかし,objectタグを使った方法でわからない点があります. http://phpspot.org/blog/archives/2006/11/iframehtmlhtml.html このページを見て頂きたいのですが, objectタグでHTMLファイルを読み込む時に次のようにclassidを指定しています. classid="clsid:25336920-03F9-11CF-8FD0-00AA00686F13" 私の認識が正しければ,この文字列はCOMコンポーネントを識別するためのキーだったように思います. とすると,このidは,一体何を呼び出すためのキーなんでしょうか.