即使一个崩溃并重新打开,你如何在Windows平台上的两个应用程序之间保持持久引用?

时间:2009-05-20 00:26:53

标签: windows reference instance

对于保持对两个应用程序的持久引用有哪些选项,即使一个应用程序崩溃,以便在重新打开第一个应用程序时,它可以获得对第二个应用程序的引用并在其上调用方法。

情况如下:

  • App1(Web浏览器插件)通过HTML页面中的对象引用实例化App2并获取对它的引用,以便它可以对App2进行API调用。

  • App1崩溃,但App2保持打开状态。

  • 当App1重新打开时,它需要获取对App2的引用(仍在运行),以便它可以继续进行API调用。

这一切都是在机器上以管理员身份运行的。在崩溃后重新打开时,App1获取对仍在运行的App2的引用的最佳方式是什么?

2 个答案:

答案 0 :(得分:1)

有许多不同的options for IPC可行。

如果您正在尝试从App1到App2进行API调用,那么您已经在那里使用某种形式的IPC。我只是使用类似命名的管道,允许从任何进程使用。如果App2是管道服务器,App1可以连接到它,如果它崩溃,新的App1可以再次作为客户端连接到它。

答案 1 :(得分:0)

您可以尝试使用EnumProcesses查找正在运行的应用程序。

http://msdn.microsoft.com/en-us/library/ms682623(VS.85).aspx有一些示例代码。