Соответственно при первом "неудачном" вводе программа останавливается, но по "инерции" в командную строку попадает и 2й ввод. Как избежать второго ввода?1. При чем здесь scr-файл?
При чем здесь scr-файл?Потому что я использую именно этот сценарий в работе.
Второй ввод не может попадать при "неудачном" вводе. Или что ты понимаешь под неудачным вводом?"Неудачный" ввод в данном конкретном случае это строка - notdouble, а не double.
Почему вопрос в этом разделе, а не в .NET?Потому что, я думаю что это особенность команды script (может ассинхронность какая то тут?) , а не NET.API
Но в командной строке, тем не менее:Так и должно быть. Ты вышел из команды mytestcommand, но в scr-файле у тебя дальше 333 - вот они и воспринимаются как следующая команда.
Enter test1: notdouble
Command: 333
Unknown command "333". Press F1 for help.
В этом и вопрос. Как прервать выполнение scr файла после notdouble, чтобы в комстроку не передавалось дальше 333?Вообще-то никак. Можешь попытаться отправить в командную строку ^C^C для прерывания команды, но шансы небольшие.
Вариант c doc.SendStringToExecute("^C^C ", true, false, false);Попробуй:
В ком строке :
Enter BACKSPACE to interrupt script.
Command: 333 Unknown command "333". Press F1 for help.
Увы. Enter BACKSPACE to interrupt script и выскакивает следующая команда.Ну можно еще попробовать через Windows API послать BACKSPACE. Но я не вижу смысла. Нужно менять логику программы.