rsa*_*tos 5 c# dll process exit
我有一个 WPF 应用程序,它正在调用本机 DLL(用 C++ 编写)内的函数。.DLL 中的此函数有时会执行进程退出,从而终止 WPF 应用程序。
例子:
WPF App:
.....
[DllImport("native.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
private static extern void NativeMethod();
.....
void CallFunction()
{
//Call the native function
NativeMethod();
}
....
Run Code Online (Sandbox Code Playgroud)
NativeMethod 内部有一个出口,我无法更改 .dll 的源代码。有人知道如何从 .NET 代码中捕获 DLL 中的此退出吗?
提前致谢,
AppDomain.ProcessExitOk,使用 AppDomain 的问题是它们只适用于 .NET 程序集 :( 所以我必须创建一个通过 P/Invoke 加载本机 DLL 的程序集。一旦有了这个,我就可以在不同的 AppDomin 中加载程序集并调用本机 .dll 的函数抛出托管 .dll。我从 AppDomain 捕获 AppDomain.ProcessExit 事件,并且可以捕获退出;)。
感谢 aiampogi 的想法;)
| 归档时间: |
|
| 查看次数: |
2392 次 |
| 最近记录: |