0

我正在尝试将击键发送到非活动窗口(VLC 媒体播放器)。我正在使用 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 的正确类窗口名称可能是什么,请给我一个提示。非常感谢!

4

1 回答 1

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);
}
于 2013-11-28T07:55:25.780 回答