我正在玩C dlls來鉤住全局Windows事件,下一步是向C#應用程序發送一些事件數據(沒有任何巨大的數據)。C + C#進程間通信:命名管道,內存映射文件或其他?
,因爲我想這個通信儘可能地快,我分析兩種選擇:命名管道和內存映射文件。
我知道,.NET 4本機方式帶來的MMF,但我必須面向.NET 2,如Win98下的客戶端的存在仍然是可能的。我也知道有很多方法可以通過Windows API管理MMF和.NET 2(有些人甚至已經構建了一些包裝器)。
在這種情況下,我想知道:
- 在選擇命名管道,而不是MMF是否有任何大的缺點(主要性能)?重要的是要記住,我不會傳輸大量的數據;
- NP或MMF(針對.NET 2)是否存在任何安全問題?
- 有沒有比這些更好的選擇?
這並不重要,但Win98 EOL是2006年7月11日。我很遺憾聽到仍然有人堅持使用它。我不羨慕你菲利普... –
更多關於主題,你可以在.NET 2中使用帶有P/Invoke的MMF。 –
在這種情況下,我不能使用P/Invoke,因爲全局掛鉤會附加到每個流程執行,所以程序必須用本地語言(C,Delphi,VB等)編寫。 是的,Martinho,這個Win98的依賴真的很臭。如果你很傷心,想象我們的團隊.. :) – jfneis