我正在通过其API将第三方电子解算器用于我的C#程序。
我的问题是,当网络许可证不可用时,第三方软件有时会关闭。
程序技术支持人员说,这是因为许可证不可用时会发送退出信号。
现在,当第三方软件关闭时,我的程序也会关闭。有什么方法可以避免这种情况吗?
示例代码如下:
public class PF_Interface {
WApi apiInstance;
public void CreateAPI() {
apiInstance = WApi.WCreateApiInstance();
}
}
如果程序不可用,则行apiInstance = WApi.WCreateApiInstance();
将不返回任何内容,并且执行不再进行。
我想以某种方式独立于我的程序运行API,所以当它关闭时,我的程序仍在运行。
答案 0 :(得分:2)
这里的清洁选项是使用两个过程。
脏选项是使用Microsoft Detours或类似的挂钩技术来捕获对ExitProcess
的调用并抛出您可以在自己的代码中捕获的异常。但是,不知道图书馆的状态如何,所以不要指望能够在许可证可用后再试一次。