Отправить нажатия клавиш в свернутом VLC
Я пытаюсь отправить нажатия клавиш в неактивное окно (VLC Media Player). Я использую C++
Ниже приведен код, который я пробовал:
HWND hwndWindowTarget;
HWND hwndWindowVLC = FindWindow(NULL, L"VLC media player");
if (hwndWindowVLC)
{
// Find the target class window within VLC.
hwndWindowTarget = FindWindowEx(hwndWindowVLC, NULL, L"QWidget", NULL);
if (hwndWindowTarget)
{
PostMessage(hwndWindowTarget, WM_CHAR, 'P', 0);
}
}
Это хорошо работает для блокнота. Я не знаю, что не так. Наиболее вероятно из-за имени цели окна на findwindowex.
Я использовал WinSpy++, чтобы получить имя класса VLC:
Пожалуйста, помогите мне. Если вы знаете, что не так или как может быть имя правильного имени окна класса для VLC, пожалуйста, дайте мне подсказку. Большое спасибо!
1 ответ
Окно VLC не имеет дочернего окна с именем класса QWidget, поэтому FindWindowEx()
потерпит неудачу и возвратит NULL. Само окно VLC является классом QWidget (WinSpy++ говорит вам об этом), поэтому попробуйте это:
HWND hwndWindowVLC = FindWindow(L"QWidget", L"VLC media player");
if (hwndWindowVLC)
{
PostMessage(hwndWindowVLC, WM_CHAR, 'P', 0);
}