我使用此单元格公式成功地将ThinkOrSwim交易平台的DDE数据接收到Excel中:
=TOS|Last!AAPL
但是,当我尝试使用.Net C#应用程序中的NDDE library连接到ThinkOrSwim DDE时,我收到以下错误消息,这与我在ThinkOrSwim平台未运行时所获得的相同所有:
客户端无法连接到“TOS | LAST”。确保服务器应用程序正在运行,并且它支持指定的服务名称和主题名称对。
与NDDE连接的完全相同的方法在2009年工作,并且在2012年重新使用它时失败了。也许ThinkOrSwim在他们的应用程序中做了一些改变来阻止它?我想知道下一步该做什么......要么找到一种方法让NDDE工作(更好),要么在我的.Net应用程序中运行excel电子表格(凌乱)。
希望有人在这里知道我可以继续使用NDDE并修复该连接问题。
Click to download small code library I created to demonstrate this problem (Visual Studio 2010)。在页面加载后,您必须单击文件 - >下载。
Bounty仅用于显示使用纯.Net / windows api解决方案的解决方案的答案。 bounty不接受.Net内的Excel自动化。
从https://mediaserver.thinkorswim.com/installer/InstFiles/thinkorswim_jse6_installer.exe下载ThinkOrSwim 如果您需要登录详细信息,请私下与我联系。
答案 0 :(得分:3)
右键单击thinkorswim.exe,转到兼容性选项卡
检查底部的“以管理员身份运行”框。
单击“应用”。
答案 1 :(得分: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>