将 MATLAB 注册为 COM 服务器
注意
调用(而不是编写)MATLAB® 作为 COM 自动化服务器的应用程序,请考虑使用 MATLAB Engine API for .NET。有关详细信息,请参阅从 .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 通信。
为所有用户注册 MATLAB
您必须拥有管理员特权,才能为所有用户将 MATLAB 注册为 COM 服务器。根据您的用户帐户控制 (UAC) 设置,您可能需要右键点击 Windows 命令提示符或 MATLAB 图标并选择以管理员身份运行。如果该选项不可用,请与系统管理员联系。
如果您的系统上安装了多个版本的 MATLAB,则只能将一个版本注册为所有用户的默认版本。此版本的 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。
注销 MATLAB 作为 COM 服务器
有关如何以及何时注销 MATLAB 的信息,请参阅 comserver。
另请参阅
matlab (Windows) | comserver | regmatlabserver