Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在visualc+中处理来自unity的关闭信号+;_C#_C++_Unity3d_Signals - Fatal编程技术网

C# 如何在visualc+中处理来自unity的关闭信号+;

C# 如何在visualc+中处理来自unity的关闭信号+;,c#,c++,unity3d,signals,C#,C++,Unity3d,Signals,我正在用C#开发一个Unity 3D应用程序。在Unity脚本中,我打开了一个第三方控制台应用程序。然后,我使用CloseMainWindow方法关闭第三方控制台应用程序。 在C++编写的第三方应用程序中,我想处理关闭信号来处理一些资源。 我尝试将其放在我的控制台应用程序中: BOOL WINAPI consoleHandler(DWORD signal) { if (signal == CTRL_C_EVENT) printf("Ctrl-C handled\n");

我正在用C#开发一个Unity 3D应用程序。在Unity脚本中,我打开了一个第三方控制台应用程序。然后,我使用
CloseMainWindow
方法关闭第三方控制台应用程序。 在C++编写的第三方应用程序中,我想处理关闭信号来处理一些资源。 我尝试将其放在我的控制台应用程序中:

BOOL WINAPI consoleHandler(DWORD signal) {
    if (signal == CTRL_C_EVENT)
        printf("Ctrl-C handled\n");
    if (signal == CTRL_CLOSE_EVENT)
        printf("End task handled\n");
    //dispose resources
    return TRUE;
}
主菜单中,我输入:

if (!SetConsoleCtrlHandler(consoleHandler, TRUE)) {
        printf("\nERROR: Could not set control handler");
        return 0;
    }

如果我从控制台窗口上的“X”按钮关闭控制台应用程序,则此处理程序可以工作,但当我从Unity脚本关闭控制台应用程序时,它不起任何作用。我该怎么办?非常感谢。

我认为您需要使用GenerateConsoleCtrlEvent WinAPI函数,而不是CloseMainWindow