如果我在Mathematica中打开一个笔记本,并输入“nb = NotebookCreate []”,它会按预期创建一个新的笔记本窗口。
但是,如果我在C#中尝试相同的命令,它会失败,并且不会打开一个新的笔记本窗口:
IKernelLink ml = MathLinkFactory.CreateKernelLink();
ml.WaitAndDiscardAnswer();
string cmd = @"nb = NotebookCreate[]";
string result = ml.EvaluateToOutputForm(cmd, 0);
// result is now "$Failed".
请注意,如果我传入“2 + 2”,则返回“4”,这证明了Mathematica内核的链接运行良好。
答案 0 :(得分:0)
不幸的是,对于Mathematica v8来说似乎不可能(并且我认为在v9中没有太多变化)。
根据我的理解,当您从C#访问Mathematica内核时,这不允许访问作为GUI一部分的Notebook类。