トップ回答者
IIS経由ShellExecuteでブラウザが表示できない

質問
-
VC6で作成したCGIをIISのアプリケーションプールを利用して動かしています。
今回、CGIにリクエストがあった際に、
サーバ側でブラウザを起動し、指定のURLを表示させようとしています。開発環境 :Windows Server 2003 SP2 / VC6.0
サーバ:Windows 2008 Server R2 / IIS7.5HINSTANCE hwndRet; hwndRet = ShellExecute(NULL, "http://www.hoge.co.jp", NULL, NULL, SW_SHOW);
戻り値は42で、
タスクマネージャーのプロセスを見ると、IEが起動されていることは確認できますが、
肝心のウィンドウが表示されません。
URLをテキストファイル名に変更しても同様に、
プロセスは起動しますが、ウィンドウは表示されませんでした。そこで、以下のことを確認、試してみました。
・CGIは32ビット。プロセス起動されたIEとnotepadも32ビット
・「ファイル名を指定して実行」で当該URLを入力し、IEで表示できることは確認済み。
・サーバ側でShellExecuteを実行する単体で動くアプリケーションを作成・実行
⇒ウィンドウは表示される。
・アプリケーションプールを経由し、上記のアプリケーションを実行(ShellExecute)
⇒ウィンドウは表示されず、プロセスのみ残る。アプリケーションプールを通すとShellExecuteの挙動は異なるのでしょうか?
何か関連しそうな情報があればご教示ください。
回答
すべての返信
-
Y.SHIINA さん、こんにちは
フォーラム オペレーターの星 睦美です。佐祐里 さんの返信を参考にしていただけたようですので、今回は私から[回答としてマーク]をさせていただきました。
引き続き回答の内容に質問がありましたら[回答としてのマークの解除]をして返信できます。それではY.SHIINA さんからの結果の報告もお待ちしています。
今後ともTechNet フォーラムをよろしくお願いします。
日本マイクロソフト株式会社 フォーラム オペレーター 星 睦美