Совместное использование данных в системе

Добрый вечер. Я ищу способ обмена данными из моего приложения в масштабе всей системы, чтобы другие приложения могли читать эти данные, а затем делать с ними все, что захотят (например, форматировать их для отображения, использовать для ведения журнала и т. Д.). Данные должны обновляться динамически в самом методе.

Сначала на ум пришел WMI, но затем возникает проблема с приложениями, которые приостанавливаются при чтении из WMI. Кроме того, я понятия не имею, как настроить собственное пространство имен или классы, если это вообще возможно в Delphi.

Использование файлов - это еще одна идея, но это может привести к тяжелой нагрузке на диск, и это действительно ужасный метод для использования с данными в реальном времени.

Использование драйвера, вероятно, было бы лучшим вариантом, но, на мой взгляд, это слишком навязчиво для пользователей, и я даже не знаю, с чего начать.

WM_COPYDATA было бы замечательно, но я не уверен, достаточно ли он динамичен, и будет ли он загружать ресурсы или нет.

Использование TCP / IP было бы лучшим выбором для работы в сети, но, очевидно, от него мало пользы при работе в одной системе без сетевых требований.

Как видите, я изо всех сил пытаюсь понять, что с этим делать. Я не хочу углубляться в один метод только для того, чтобы обнаружить, что в конце концов он не сработает. По сути, что-то вроде службы или фонового процесса для записи данных и последующего чтения этих данных другим приложениям.Я просто не уверен в методах. Я бы предпочел НЕ нуждаться в повышении прав / UAC для этого, но в случае необходимости я соглашусь на это.

Я использую Delphi 2010 для этого упражнения.

Есть идеи?

5
задан Scott Pritchard 29 December 2011 в 07:10
поделиться