- PR -

ActiveXからCで作成したDLL内の関数を呼ぶ

1
投稿者投稿内容
みつお
会議室デビュー日: 2004/12/09
投稿数: 17
投稿日時: 2005-04-01 12:06
ActiveXコントロールの中でCで作成したDLL内の関数をコールすることができません。

具体的にはDLLの中でkick()という関数をつくり、その中でCreateProcessを用いてクライアントにおいてあるEXEを実行しようとしているのですが、実行できずに処理が終了してしまいます。
ActiveXコントロールを作成した自分のPCではDLLを認識して、DLL内部のCreateProcessも実行できているのですが、WEBにActiveXコントロールを上げて、他のマシンにダウンロードした場合は実行されません。ダウンロードしたマシンでDLLが認識されているかを調べるために、DLLの中の作成したkick関数内にフラグを立てて、それを出力するようにした結果、フラグの値が返ってきたので、DLLは認識されていると思われます。しかし、CreateProcessは実行されません。WaitForSingleObjectを実行するとWAIT_FAILEDが返り値として帰ってきます。自分のPCもダウンロードしたPCもDLLはsystem32のフォルダに置いてあるだけです。

DLLが読み込まれていると思いますが、中のCreateProcessが実行されない原因がお分かりのかたがいらっしゃいましたら、是非ご教授ください。よろしくお願いします。

OS Windows XP
VB6 ActiveXコントロール
1

スキルアップ/キャリアアップ(JOB@IT)