我有一个用c#编写的旧可执行文件。
它可以在计划任务中正常运行,但不能在Control-M下运行。
按作业计划时(作业类型:操作系统,一个简单的命令)
未处理的异常:System.IO.IOException:句柄无效。
在System.IO .__ Error.WinIOError(Int32 errorCode,字符串 位于System.Console.GetBufferInfo(Boolean throwOnNoConsole,布尔值和成功)在 System.Console.get_WindowHeight()位于 myprogram.Program.Main(String [] args)
由于与屏幕的互动,它似乎崩溃了: get_WindowHeight
有一种方法可以使它在不更改源代码的情况下起作用?
答案 0 :(得分:1)
由于没有实际的控制台窗口,可能会失败。由于您无法获得不存在的窗口的高度(这将引发异常),因此您需要找到原始应用程序的源,然后重新构建它以不需要它,或者找到一个您的自动化工具创建实际控制台窗口的方法。