Вам ввод команды в окне оболочки
Привет,
Я пытаюсь получить команду ввода из окна оболочки (а не результат вывода). Ниже приведен сценарий.
Я пытаюсь получить эту информацию с помощью C#, но если это невозможно с помощью C#, то любой другой язык, такой как C/C++, также будет работать.
1 - пользователь вводит некоторую команду в окне оболочки.
Команда типа dr/cd/mkdir и т. д
Окно оболочки, как командная строка/ PowerShell
2 - всякий раз, когда пользователь нажимает enter, захватите команду, которую он выполнил, и зарегистрируйте ее.
3 - Мне нужен последовательный подход, который работает на всех окнах оболочки. Кроме cmd и powershell, может быть больше окон оболочки.
Что я уже пробовал:
1 - я попробовал использовать клавиатурное нажатие. Используя нажатие клавиатуры, я могу захватывать ключевые детали, но пользователь может использовать некоторые сочетания клавиш. так что это не сработает
2-попытка получить данные из заголовка окна. Это работает для командной строки, но не с powershell.
3 - попробовал оконный API типа "getWindowText", но он дает название окна. Я полагаю ,что есть тысячи WinAPI. Если кто-то может сузить круг вопросов, дайте некоторое предложение по методам WinAPI. Это тоже сработает
Пожалуйста, помогите !!
johannesnestler
Я не думаю, что это сработает - никакая функция Windows-API здесь не поможет. Ведение журнала Ключей с помощью глобального крючка, мониторинг целевого приложения (оболочки) и знание возможных ярлыков, которые есть у каждого целевого приложения, могут в какой-то степени работать. В любом случае - мне было бы просто интересно, какая выгода или функция стоит за вашим требованием? На данный момент я не могу себе представить никакого использования для такого регистратора всех "команд" для всех приложений типа оболочки. То, что вы делаете потом с записанными командами - они всегда будут специфичны для конкретного приложения.... так что бесполезно без дальнейшего знания оболочки и ее команд. Может быть, кто-то поможет, если вы опишете свою цель?
saurabh.15in
Я пытаюсь создать тип диктофона. Но заботясь о том, чтобы рекордер не захватывал конфиденциальные данные.
Так могу ли я предположить,что это невозможно?