2 локальных и запущенных приложения: Приложение №1 периодически (timer1 @30sec) записывает «ping» в общую/межпроцессную строку. Приложение № 2 периодически проверяет (timer2 @ 60sec), если общая строка == «ping», и перезаписывает ее на «pong». Поскольку timer2 > timer1, приложение № 2 всегда будет получать/считывать строку как «ping». Если нет, то я могу, конечно, предположить, что приложение № 1 разбилось / зависло, и перезапустите его.
Я знаю, что это можно сделать очень легко с буфером обмена...
Clipboard.Clear();
Clipboard.SetData("checkthis", "ping");
.
.
.
object clip = Clipboard.GetData("checkthis")
if (clip.ToString() == "ping")
{
Clipboard.Clear();
Clipboard.SetData("checkthis", "pong");
}
... но я думаю, что это действительно плохая идея использовать буфер обмена, поскольку пользователь может легко его испортить. Есть ли другое решение, столь же простое в использовании, как буфер обмена?