はじめまして、ayumina222と申します。
VC++を使ってActiveXを作成しました。
IEから呼び出しをし、ローカルのメモ帳に引数を渡して起動したいと考えています。
作成したActiveX(ocx)はフリーツールを利用してinfファイルを作成し、cabファイルにまとめました。
テスト用に証明書も作成し、ocx、cab共に署名もしました。
この状態でサーバーにアップし下記のhtmlソースで呼び出しを試みましたがレジストリにActiveXのClassIDが書き込まれていないPCではまったく反応がありません。
あと、実行された場合にActiveXのDoPropExchange関数内に書いた処理が何回か実行されてしまいます(‾д‾) エー
HTMLソース
----*----*----*----*----*----*----*----*----*----*----*----*
<object classid="CLSID:****************************" codebase="http://ドメイン/XXXXXXXXXXX.cab" id="XXXXXXXXXXX" width="0" height="0" TYPE="application/x-oleobject">
<param name="test1" value="XXXXXXXXXXX" />
<param name="test2" value="XXXXXXXXXXX"/>
<param name="test3" value="XXXXXXXXXXX" />
</object>
----*----*----*----*----*----*----*----*----*----*----*----*
期待している動作としては、
「ActiveXをインストールしますか?」
というダイアログが出て、承諾するとインストールを実行し、受け取った引数をローカルのPCのnotepad.exeに渡すといった動作です。
IEのセキュリティ設定はActiveXを実行できるよう変更してあります。
証明書も登録しました。
ClassIDが登録されているPCでは期待通りの動作をしてくれているので、ocxには問題は無いと思います。
ワタシはClassIDがローカルPCで見つからなかった場合にはcodebaseのURLを参照してIEがインストールを実行するという認識でしたが、どうも期待通りに動いてくれません(●`ε´●) ぶー
codebaseのURLに直接アクセスした場合には
「cabファイルを保存しますか?」
と出るので、パスは通っていると思うのですが。。。
どなたかお分かりになる方いらっしゃいましたら、
宜しくお願いします(π0π) ウルルルル
そこらじゅうでマルチポストしてるな
http://okwave.jp/qa3040658.html
http://bbs.wankuma.com/index.cgi?mode=al2&namber=3950
まあこんな文体で技術系掲示板に書き込んでも相手にされんと思う。オラは一抜けた。
猛反省汁。
ツイート | ![]() |