将击键发送到最小化的VLC

时间:2013-11-28 04:21:23

标签: c++ winapi desktop vlc findwindow

我正在尝试将按键发送到非活动窗口(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的类名:

image

请帮帮我。如果您知道VLC的正确类窗口名称是什么错误或者可能是什么,请给我一个提示。非常感谢!

1 个答案:

答案 0 :(得分: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);
}