![]() |
#18 |
Участник
|
Для запуска на стороне сервера различных консольных exe написал такую функцию (для DAX2009) в классе WinAPIServer.
Позволяет также управлять временем ожидания выполнения приложения. Возвращает результат (успешное / не успешное завершение) X++: static server boolean shellExecuteWait(str _commandLine, str _arguments = "", int _waitTime = -1) { System.Diagnostics.Process process; System.Diagnostics.ProcessStartInfo startInfo; InteropPermission permission = new InteropPermission(InteropKind::ClrInterop); System.Exception exception; Boolean exited; ; permission.assert(); startInfo = new System.Diagnostics.ProcessStartInfo(_commandLine); process = new System.Diagnostics.Process(); if (_arguments) { startInfo.set_Arguments(_arguments); } try { startInfo.set_UseShellExecute(false); // для отключения диалога безопасности доступа к сетевым файлам process.set_StartInfo(startInfo); process.Start(); process.WaitForExit(_waitTime); exited = process.get_HasExited(); if (exited == false) { process.Kill(); return false; } return true; } catch (Exception::CLRError) { exception = CLRInterop::getLastException(); while (exception) { error(exception.get_Message()); exception = exception.get_InnerException(); } return false; } } |
|
|
За это сообщение автора поблагодарили: gl00mie (2), player (1). |
Теги |
64-bit, aos, ax2009, dllfunction, winapi, zip |
|
|