2个本地和正在运行的应用程序: App#1定期(timer1 @ 30sec)将“ping”写入共享/“crossprocess”字符串。 如果共享字符串==“ping”,App#2会定期检查(timer2 @ 60sec)并用“pong”覆盖它。 作为计时器2> timer1 App#2将始终接收/读取字符串为“ping”。如果没有,那么我当然可以假设App#1崩溃/挂起并重新启动它。
我知道这可以通过剪贴板轻松完成......
Clipboard.Clear();
Clipboard.SetData("checkthis", "ping");
.
.
.
object clip = Clipboard.GetData("checkthis")
if (clip.ToString() == "ping")
{
Clipboard.Clear();
Clipboard.SetData("checkthis", "pong");
}
...但我认为使用剪贴板是一个非常糟糕的主意,因为用户可以轻松搞砸它。 还有其他解决方案像剪贴板一样易于使用吗?
答案 0 :(得分:0)
我认为SO中的这个主题将帮助您解决问题。祝你好运!
Static members behavior with multiple instance of application - C#
答案 1 :(得分:0)
内存映射文件是一种方法:http://msdn.microsoft.com/en-us/library/vstudio/dd997372(v=vs.100).aspx将完成这项工作。
命名管道是另一个。
普通的文件工作。只需让每个进程在文件上放置FileSystemWatcher
并监听更改。