【问题标题】:How can I know which process is using the keyboard to input in windows 10?如何知道哪个进程正在使用键盘在 Windows 10 中输入?
【发布时间】:2021-11-02 08:32:15
【问题描述】:

在 windows 10 中如何知道哪个进程正在使用键盘输入?

【问题讨论】:

标签: c++ windows debugging winapi keyboard


【解决方案1】:

要获得前台窗口(用户当前正在工作的窗口,操作系统将所有键盘输入发送到该窗口)的窗口句柄,您可以使用函数GetForegroundWindow

要获取创建该窗口的线程的进程ID,可以使用函数GetWindowThreadProcessId

以下控制台程序将每隔 5 秒打印一次前台窗口句柄的值,以及创建该窗口的线程和进程 ID。

#include <windows.h>
#include <stdio.h>

int main( void )
{
    HWND hWnd;
    DWORD dwTID, dwPID;

    while ( 1 )
    {
        hWnd = GetForegroundWindow();
        dwTID = GetWindowThreadProcessId( hWnd, &dwPID );

        printf(
            "Handle of current foreground window: %p\n"
            "That window was created by:\n"
            "Thread ID: %u\n"
            "Process ID: %u\n",
            hWnd, dwTID, dwPID 
        );
        fflush( stdout );

        Sleep( 5000 );

        printf( "\n" );
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 2020-06-10
    • 2023-01-21
    • 1970-01-01
    相关资源
    最近更新 更多