晚上好。 我正在尋找一種方法來共享我的應用程序在整個系統中的數據,以便其他應用程序可以讀取該數據,然後做任何他們想要的數據(例如,將其格式化以顯示,用於記錄等)。數據需要在方法本身中動態更新。共享數據系統範圍
首先讓WMI浮想聯翩,但是當你從WMI讀取數據時,你會遇到應用程序暫停的問題。另外,如果在Delphi中甚至可能,我還沒有真正想過如何設置我自己的命名空間或類。
使用文件是另一種想法,但這可能會讓磁盤變得沉重,並且這是一種使用實時數據的非常糟糕的方法。
使用驅動程序可能是最好的選擇,但這對用戶來說有點太侵擾我的喜好,我不知道從哪裏開始。
WM_COPYDATA會很棒,但我不確定這是否足夠動態,以及它是否會佔用資源。
使用TCP/IP將是通過網絡的最佳選擇,但顯然在沒有網絡要求的單個系統上運行時幾乎沒有用處。
正如你所看到的,我正在努力弄清楚該怎麼辦。我不想只用一種方法來發現它最終不會實現。實質上,就像服務或後臺進程一樣,用於記錄數據,然後允許其他應用程序讀取該數據。我只是不確定的方法。我寧願不需要提升/ UAC來做到這一點,但如果需要,我會解決它。
我在Delphi 2010中運行這個練習。
任何想法?
你可以使用數據庫嗎? – 2011-12-29 07:13:50
我認爲需要對「全系統」做更多的說明。你是否需要與其他會話進行交互(用戶通過「切換用戶」,遠程桌面,思傑等登錄到同一個系統),還是僅僅是當前的登錄?還是VM子系統?我不認爲WM_CopyData會跨越這些界限,所以你應該澄清範圍。 – 2011-12-29 15:35:56
嗨克里斯。我不需要以任何方式與其他會話或虛擬機進行交互或傳輸。它正在傳輸中,我正在看。 – 2011-12-29 18:31:42