Отправить нажатия клавиш в свернутом 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, пожалуйста, дайте мне подсказку. Большое спасибо!

0

Решение

Окно VLC не имеет дочернего окна с именем класса QWidget, поэтому FindWindowEx() потерпит неудачу и возвратит NULL. Само окно VLC является классом QWidget (WinSpy ++ говорит вам об этом), поэтому попробуйте это:

HWND hwndWindowVLC = FindWindow(L"QWidget", L"VLC media player");
if (hwndWindowVLC)
{
PostMessage(hwndWindowVLC, WM_CHAR, 'P', 0);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]