app返回之前app焦点的操作方法

var hdWin,hdfocus: THandle;
trdID: Cardinal;

//获取前置app窗口句柄

hdWin := GetForegroundWindow;//FindWindow(nil,'Project1');

//获取前置app线程句柄
trdID := GetWindowThreadProcessId(hdWin,nil);

//连接当前线程与前置线程,消息将有当前进行处理
AttachThreadInput(trdID,GetCurrentThreadId,True);
hdFocus := windows.GetFocus;

//{操作代码}

Windows.SetFocus(hdWin);
PostMessage(hdFocus,WM_CHAR,ord('A'),0);

//解除线程连接

AttachThreadInput(trdID,GetCurrentThreadId,False);

原文地址:https://www.cnblogs.com/hejoy91/p/3695958.html