Окно консоли - программный код команды (wParam из WM_COMMAND)

Мне очень интересно, когда я могу управлять окном консоли с помощью программы C # / C ++.

Согласно этому сообщению: Программно вставить текст из буфера обмена в окно CMD (C # или C ++), мы можем выполнить команду вставки для консоли с помощью этого кода

 // hwnd is the window handle of a console window
 SendMessage(hwnd, WM_COMMAND, 0xfff1, 0);

Итак, 0xfff1 - это команда (wParam) для вставки. Но я вижу, что есть несколько полезных команд:

  1. Копировать

  2. Выбрать все

  3. Вставить ---> 0xfff1

  4. Выполнить команду (при нажатии Enter для выполнения команды cmd)

  5. Очистить текущий ввод (при нажатии Esc)

  6. Команда Ctrl + C (вы знаете, что это такое, а не копировать кстати)

Если у меня есть команда execute, я могу объединить вставку и выполнение для программного выполнения команды в консоли из моего программного обеспечения. Или, если я знаю «Выбрать все» и «Копировать», я могу программно скопировать содержимое консоли. console Так кто-нибудь знает программный код команды (wParam) приведенной выше команды? Особенно команда выполнения.


person 123iamking    schedule 02.04.2018    source источник
comment
Вы пробовали вставить команду с окончанием CRLF?   -  person MC ND    schedule 02.04.2018
comment
Как бы то ни было, идентификаторы команд меню можно легко прочитать из файла ресурсов многоязычного пользовательского интерфейса DLL хоста консоли (например, en-us \ ConhostV2.dll.mui). В порядке идентификатора пункты меню: копировать (0xfff0), вставить (0xfff1), отметить (0xfff2), прокрутить (0xfff3), найти (0xfff4) и выбрать все (0xfff5).   -  person Eryk Sun    schedule 03.04.2018
comment
@MCND - Спасибо, вставьте команду Environment.NewLine //C# equal run, я должен был это знать: D @eryksun - Спасибо, вы правы, я пробовал: выбрать все и скопировать, работает.   -  person 123iamking    schedule 03.04.2018