1

我是使用 Matlab 的新手,我花了一天时间试图让 Matlab 与我的 C# 应用程序进行交互。就目前而言,我可以使用 MLapp 接口发送命令,如下所示:

MLApp.MLApp matlab = new MLApp.MLApp();

我的问题是当我尝试执行命令来保存数据时:

string result = matlab.Execute(inputVectorCommand);
            matlab.Execute("save('saveTest.mat','x')");

我收到以下错误:

Error using save
Unable to write file ytest.mat: permission denied.

我相信这是因为 Matlab 的实例是用最高的 UAC 创建的。有人知道这个问题的解决方案吗?

4

1 回答 1

0

它可能是称为用户界面特权隔离的 Windows 安全功能。这是不允许较低完整性进程与较高完整性进程通信的地方。

这被添加到 Windows Vista 以防止所谓的Shatter Attack

安全问题是恶意应用程序可以尝试与提升的 MatLab 进程通信,可能使用它来写入安全位置。

例如,您的 C# 应用程序正在尝试使用 MatLab 将文件保存在硬盘上。

于 2014-01-01T05:31:13.753 回答