6

我使用以下单元格公式成功地将来自 ThinkOrSwim 交易平台的 DDE 数据接收到 excel 中:

=TOS|Last!AAPL

但是,当我尝试在 .Net C# 应用程序中使用NDDE 库连接到 ThinkOrSwim DDE 时,我收到以下错误消息,这与 ThinkOrSwim 平台根本没有运行时收到的错误消息相同:

客户端未能连接到“TOS|LAST”。确保服务器应用程序正在运行并且它支持指定的服务名称和主题名称对。

与 NDDE 连接的完全相同的方法在 2009 年有效,但当我在 2012 年重新使用它时失败了。也许 ThinkOrSwim 在他们的应用程序中进行了一些更改以阻止它?我想知道下一步该做什么......要么找到一种方法让 NDDE 工作(更好),要么在我的 .Net 应用程序中运行一个 excel 电子表格(混乱)。

希望这里的人知道我可以继续使用 NDDE 并解决该连接问题。

点击下载我创建的小代码库来演示这个问题(Visual Studio 2010)。页面加载后,您必须单击“文件”->“下载”。

Bounty 仅用于显示使用纯 .Net / windows api 解决方案的解决方案的答案。赏金不接受在 .Net 中自动化 excel。

从以下网址下载 ThinkOrSwim:https ://mediaserver.thinkorswim.com/installer/InstFiles/thinkorswim_jse6_installer.exe 如果您需要登录详细信息,请私下联系我。

4

2 回答 2

3

右键单击 thinkorswim.exe ,转到兼容性选项卡

选中底部的“以管理员身份运行”框。

单击应用。

于 2012-08-13T03:50:42.903 回答
1

终于找到了解决方案:我必须以管理员身份运行 Visual Studio 才能使其在调试中工作。为了使 .exe 工作,我必须添加一个 app.manifest 文件,其中包含以下内容:

  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
     <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>
于 2012-08-19T01:29:35.623 回答