- PR -

ASP.netからActiveXを利用して表示、非表示を有効にする方法

1
投稿者投稿内容
Hiro
常連さん
会議室デビュー日: 2003/08/26
投稿数: 28
投稿日時: 2004-05-26 19:22
いつもお世話になります。
Hiroといいます。
申し訳ありませんがご教授下さい。
ASP.net + AutoCAD2005 AxtiveX VBAを利用して
アプリケーションを作成しているのですが
ASP.netでAutoCAD ActiveXのAplicatioin.Visible
(アプリケーションの表示/非表示を指定)をtrueにしても
AutoCADが表示されません。(その他のメゾット等は正常に動作します)
Windowsアプリケーションで作成すればVisibleプロパティは
正常に動作します。
今回、どうしてもAutoCADが表示されていないと動作しないメゾットを
利用するので、いろいろ調べましたがわかりませんでした。
AxtiveX VBAを利用するという上でASP.net上で
AxtiveX VBAを利用した場合、Excel等でもVisible
プロパティは有効にならないのでしょうか?
それともASP.netの設定上の問題なのでしょうか?
申し訳ありませんがご教授願います。

開発環境 W2K SP3 + VS2003(C#) + AutoCAD2005

nishi
常連さん
会議室デビュー日: 2003/11/14
投稿数: 25
お住まい・勤務地: 大阪
投稿日時: 2004-05-26 21:14
ASP.netは普通 ASPNET というアカウントで動作していますので
開発している(ログインしている)アカウントと違うため
Visibleをtrueにしても表示されないのではないかと思います。
もしかするとASP.netのWeb.configを変更してアカウントを偽装したら
うまくいかないでしょうか?
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2004-05-26 23:26
ASP.NETはサービスとして動作しているため、普通の方法では画面(デスクトップ)をもてません。サービスから画面を表示するためには、OpenDesktopでデスクトップハンドルを取得して、SetProcessWindowStationでプロセスに割り当てて...と結構面倒な操作が必要だったはず。

ただASP.NETからそんなまねして問題が無いのかと言うと、ハッキリ行って確信を持てません。私ならASP.NETから直接ActiveXを呼び出すようなことはせず、GUIプロセスで動作するサーバーを作って処理させるかな。
1

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