有什么办法保持对两个应用程序的持久引用,即使发生了一个崩溃,当重新打开第一个应用程序时,它可以获得对第二个应用程序的引用并调用其上的方法。
情况如下:
App1(Web浏览器插件)通过HTML页面中的对象引用实例化App2,并获取对它的引用,以便它可以对App2进行API调用。
App1崩溃,但App2保持打开状态。
当App1重新打开时,它需要获取对App2的引用(仍在运行),以便继续进行API调用。
这一切都在机器上以pipe理员身份运行。 崩溃后重新打开时,App1获取对正在运行的App2的引用的最佳方式是什么?
IPC有很多不同的选择 。
如果您正在尝试从App1到App2进行API调用,那么您已经在使用某种形式的IPC。 我只是使用像命名管道,允许任何进程的使用。 如果App2是管道服务器,则App1可以连接到它,如果它崩溃,则新的App1可以再次作为客户端连接到它。
您可以尝试使用EnumProcesses来查找正在运行的应用程序。
有一些示例代码在http://msdn.microsoft.com/en-us/library/ms682623(VS.85).aspx 。