2010-12-12 183 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凍結。

相關問題