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



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

要获取前台窗口的窗口句柄(前台窗口是用户当前工作的窗口,操作系统向其发送所有键盘输入),可以使用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: %pn"
"That window was created by:n"
"Thread ID: %un"
"Process ID: %un",
hWnd, dwTID, dwPID 
);
fflush( stdout );
Sleep( 5000 );
printf( "n" );
}
}