Задумка сделать программу которая выполняет действия на основе полученной голосовой команды для домашнего использования (как во всяких фильмах крикнуть на всю квартиру "Компьютер, включи музыку!" и оп!).
Голос прикрутил через Microsoft.Speech.Recognition.
Запуск процессов осуществляю через System.Diagnostics.Process.
Но вот самое сложное..
Запустил я например Windows Media Player:
process.StartInfo = new System.Diagnostics.ProcessStartInfo("wmplayer.exe");
process.Start();
Он открылся все шикарно но как мне теперь нажать на кнопку "Воспроизводить" програмно?
Я понял что нужно использовать WinAPI и с его помощью можно будет найти контрол кнопки и активировать его (наверное?) но вообще не могу понять как его использовать.
Есть может хорошие статьи/видеоуроки на данную тему? Или кому не лень обьяснить что это и с чем его едят? (сразу говорю я даже толком не понял что такое handle)
Нашел вариант через Spy++ отловить сообщение (того же нажатия кнопки "Воспроизводить") и самому его отправить но опять таки как правильно построить сообщение и в кого его отправлять я тоже не понял..
P.S. Я самоучка который только закончил учить основы и сразу прыгает выше головы.
P.P.S Про плеер это просто пример, я уже понял что можно использовать библиотеку WMPLib.
Можно использовать библиотеку user32.dll. На мой взгляд, сначало нужно активировать окно процесса
[DllImport("user32.dll")]
static extern bool SetForegroundWindow(IntPtr hWnd)
SetForegroundWindow(process.MainWindowHandle);
Затем нажат клавишу space:
const UInt32 WM_KEYDOWN = 0x0100;
const int VK_SPACE = 0x20;
[DllImport("user32.dll")]
static extern bool PostMessage(IntPtr hWnd, UInt32 Msg, int wParam, int lParam);
PostMessage(process.MainWindowHandle, WM_KEYDOWN, VK_SPACE, 0);
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я новичок в Entity Framework и Fluent ApiЯ создал несколько моделей, создал базу данных