2009-09-03 16 views
1

クライアントマシンでアプリケーションを起動するActive Xコンポーネントを作成しようとしています。私はActive Xコントロールを作成しました。これは.NETで非常に簡単です。それは、Processクラスを呼び出してStartを呼び出すことです。ASP.NETページでjavascriptを使用してActiveXコントロールを呼び出す方法

私は、このクラスの開始メソッドを、JavaScriptのページのいくつかのパラメータ(コマンドライン引数として渡される)で渡すことができます。

私はここでガイドを追っ:http://www.c-sharpcorner.com/UploadFile/mgold/HyperlinkExec03012007191054PM/HyperlinkExec.aspx

このガイドではJavaScriptを開始するには、ハイパーリンクを使用しますが、私はボタンを使用していますについて語っています。ここに私のHTMLがある(私は今のために物事をシンプルに保つために代わりにASP.NETの単なるHTMLでこれをしようとしているが、私は最終的にASP.NETに行きたい)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 

    <body> 
     <button type="button" onclick="javascript:launch()">Click me!</button> 
     <script type="text/javascript"> 
      function launch() 
      { 
       alert('test') 
       var myLauncher = new ActiveXObject('CardWriterApplicationLauncher'); 
       myLauncher.LaunchCardWriter('test', 'test', 'test'); 
      } 
     </script> 

    </body> 
</html> 

どのように私は、ボタンIをクリックしてください「オートメーションサーバーがオブジェクトを作成できません」というエラーが表示されます。私は私のCOM dllがGACとregasmに正しく登録されていることを知っています。どうすれば間違っているのでしょうか?

また、Webページからユーザーデスクトップ上にアプリケーションを起動するための代替ソリューションは、非常に高く評価されます。ブラウザのセキュリティ設定は、クライアントPCが当社の管理下にあり、インターネットにアクセスできないプライベートネットワーク上にあるため、必要に応じて変更できます。

おかげ

答えて

0

あなたはあなただけの直接JavaScriptを使用して<Object>のIDを参照し、それらを呼び出すことはできませんActiveXコントロール内のパブリックプロパティやメソッドを持っている場合は?

したがって、ActiveXコントロールは既に<object>タグを使用してページにロードされており、そのメソッドを呼び出すだけです。

+0

どうすればオブジェクトタグを使用するのですか?私はそれについていくつかの情報を見たことがありますが、それを動作させることは決してできませんでした。 –

+0

アクティブなコントロールをhmtlページに埋め込む方法を検索する:http://www.fpoint.com/support/whitep/ActiveX/ax1999.aspxこれはページ上のコントロールを表示します(あなたのケースでは、インターフェースを追加することができますが、テストするために追加することができます)。ページ上でコントロールを取得したら、javascriptを使用してインタラクションを開始することができます。 –

0

ブラウザを捨ててクライアントマシンに移動し、マシン上で正しくactivexオブジェクトを作成し、単純なVBスクリプトやダミーアプリケーションを使用できることを確認してください。あなたは一部のブラウザに行くに動作していることを確認したら

ことで、something.vbsというファイルを作成し、次のコード

Set MyObj = CreateObject("CardWriterApplicationLauncher") 

を置きます。

あなたの問題は、お使いのブラウザとは関係ありません。

また、私はCardWriterApplicationLauncherが通常必要とする有効なオブジェクト識別子ではないことに気付きました。それらの中に。例:word.application

関連する問題