晚上好。 我正在寻找一种方法来共享我的应用程序在整个系统中的数据,以便其他应用程序可以读取该数据,然后做任何他们想要的数据(例如,将其格式化以显示,用于记录等)。数据需要在方法本身中动态更新。共享数据系统范围
首先让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