在linux上以单声道捕获中断信号

时间:2014-08-04 11:37:36

标签: .net mono porting

[DllImport("kernel32.dll")]
static extern bool SetConsoleCtrlHandler(ControlEventHandler e, bool add);

我用它来捕获和管理控制台中断,特别是Ctrl. + C 它在Windows 7下使用.NET运行良好, 但是我希望在mono上将其移至arch-linux 在运行它时(无论是在Windows上构建还是直接在带有xbuild的linux机器上构建)我得到

System.EntryPointNotFoundException: SetCtrlHandler
at (wrapper managed-to-native) rzs_slim.consoleControl:SetConsoleCtrlHandler (rzs_slim.ControlEventHandler, bool) //rzs_slim is the project, consoleControl the class
at [ctor of consoleControl]
at [Main]

如何在单声道中使用此调用本机代码?我能用单声道引用.dll吗?

修改
实际上,由于这是一个控制台应用程序,我可以通过将我的清理函数订阅到Console.CancelKeyPress - 事件

来实现所需的效果。

0 个答案:

没有答案