COM サーバーとしての MATLAB の登録
メモ
MATLAB® を COM オートメーション サーバーとして呼び出すアプリケーションを作成する代わりに、.NET 用の MATLAB エンジン API の使用を検討してください。詳細については、.NET からの MATLAB の呼び出しを参照してください。
MATLAB を登録するタイミング
MATLAB を COM サーバーとして使用するには、アプリケーションを Windows® のレジストリに登録しなければなりません。MATLAB の新バージョンをインストールすると、MATLAB はすべてのユーザーについて自動的にこのバージョンを COM サーバーとして登録します。登録されている MATLAB のバージョンを確認するには、MATLAB を起動してから次を入力します。
comserver('query')
MATLAB は、登録された MATLAB のバージョンへのインストール パスを表示します。この情報は構成に固有です。以下に例を示します。
User: 'C:\Program Files\MATLAB\R2020a\bin\win64\MATLAB.exe' Administrator: 'C:\Program Files\MATLAB\R2019b\bin\win64\MATLAB.exe'
ローカル ユーザーのアカウントおよび管理者権限と、それらの値に基づいて Windows が COM サーバーを選択する方法については、Microsoft® Windows のドキュメンテーションを参照してください。
登録されている MATLAB のバージョンが望ましくないバージョンである場合は、以下の手法のいずれかを選択します。
現在のユーザー向けの MATLAB の登録
管理者権限をもたない場合、または管理者権限なしで MATLAB を起動した場合でも、MATLAB を COM サーバーとして登録できます。
登録するバージョンの MATLAB を起動し、comserver
コマンドを使用します。
comserver('register')
このコマンドは、自分のユーザー アカウントについてのみ MATLAB を登録します。管理者権限なしで COM アプリケーションを起動すると、そのアプリケーションはこの MATLAB のバージョンと通信します。
管理者によって登録された MATLAB のバージョンを使用するには、自分のユーザー アカウントに登録された MATLAB を起動し、comserver
を使用して自分のバージョンを登録解除します。
comserver('unregister') comserver('query')
User: '' Administrator: 'C:\Program Files\MATLAB\R2019b\bin\win64\MATLAB.exe'
これで、アプリケーションは MATLAB R2019b と通信するようになります。
メモ
関数 comserver
は、MATLAB R2020a 以降で使用できます。
すべてのユーザー向けに MATLAB を登録
すべてのユーザー向けに MATLAB を COM サーバーとして登録するには、管理者権限が必要です。ユーザー アカウント制御 (UAC) 設定によっては、Windows のコマンド プロンプトまたは MATLAB アイコンを右クリックし、[管理者として実行] を選択する必要があります。このオプションが利用できない場合、システム管理者にお問い合わせください。
システムに複数バージョンの MATLAB をインストールしている場合、1 つのバージョンのみがすべてのユーザーの既定として登録されます。このバージョンのMATLAB は、異なるバージョンの MATLAB をインストールするか登録するまで、登録されたままになります。
登録するバージョンの MATLAB を起動し、comserver
コマンドを使用します。
comserver('register','User','all')
メモ
comserver
は MATLAB R2020a 以降で使用できます。前のバージョンの MATLAB を登録するには、関数 regmatlabserver
を呼び出します。
オペレーティング システムのプロンプトからの登録
Windows システム プロンプトから MATLAB を COM サーバーとして登録する場合、まず [管理者として実行] オプションを使用して Windows のコマンド プロンプトを開きます。
次のコマンドを使用して、登録する MATLAB バージョンの実行可能ファイルが格納されているフォルダーに移動します。
cd matlabroot\bin\win64
ここで、matlabroot
は、MATLAB インストール フォルダーへの絶対パスです。MATLAB 内で matlabroot
を呼び出して、値を取得します。このフォルダーを使用しない場合、matlab
コマンドはシステム パス上にある MATLAB の最初のインスタンスを起動します。
MATLAB を登録するには、次を行います。
matlab -batch "comserver('register','User', 'all')"
MATLAB に最小化されたコマンド ウィンドウが表示されます。このウィンドウを開き、MATLAB を終了します。
COM サーバーとしての MATLAB の登録解除
MATLAB を登録解除する方法とそのタイミングの詳細については、comserver
を参照してください。
参考
matlab (Windows)
| comserver
| regmatlabserver