2010-12-12 180 views
1

我有一个C++控制台应用程序,它有一个变量,比如vardata。我想让我的vb.net应用程序访问vardata的内容。我认为我可以通过将vardata保存到剪贴板来实现这一点,并且vb.net应该获得剪贴板文本。问题是,vardata的内容正在改变150次/秒,并且当vb.net应用程序尝试获取剪贴板文本时,我错过了很多更改。有没有什么现成的函数可以用来将数据保存在内存空间(C++端),并从我的vb.net应用程序(vb.net端)访问它。C++和vb.net应用程序之间的进程间通信

在此先感谢

回答

1

你应该改变VB应用到库和加载到你的C++程序。有多种方式可以传递数据;最简单的可能是使用C++/CLI(使用C++)或创建COM对象(使用VB)。

3

非常不满意的数字。共享内存也无法解决它,你的VB.NET程序很容易失去CPU的访问时间35毫秒或更长。缺少更新。而你真的不想燃烧的周期来试图跟上,投票是很难受的。

另一种选择是使用套接字或命名管道。您不会丢失任何数据,也不会烧毁周期。一个特例就是如果你的VB.NET程序没有响应,你的C++程序可能会陷入困境。

请记住,人眼无法感知更新发生的速度快于每秒约30次。如果这是一个图形用户界面要求,那么每秒150次更新会浪费精力,实际上可能会导致您的GUI冻结。

相关问题