如何知道哪个进程正在使用键盘在 Windows 10 中输入?
Posted
技术标签:
【中文标题】如何知道哪个进程正在使用键盘在 Windows 10 中输入?【英文标题】:How can I know which process is using the keyboard to input in windows 10? 【发布时间】:2021-11-02 08:32:15 【问题描述】:在 windows 10 中如何知道哪个进程正在使用键盘输入?
【问题讨论】:
请参阅 键盘焦点和激活 docs.microsoft.com/en-us/windows/win32/inputdev/… 另外,到目前为止您尝试/研究了什么,请阅读 How to Ask。 【参考方案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" );
【讨论】:
以上是关于如何知道哪个进程正在使用键盘在 Windows 10 中输入?的主要内容,如果未能解决你的问题,请参考以下文章
我用c#wpf做的 菜单,Command和键盘事件,出现这个错误,有没有大神知道这个错误怎样解
Windows 中的 Qt Creator - 我如何知道正在使用哪个编译器?