// 获取创建前台窗口的线程
DWORD dwThread = GetWindowThreadProcessId(GetForegroundWindow(), NULL);
// 将前台窗口线程贴附到当前线程(也就是程序A中的调用线程)- 共享目标窗口的输入队列
BOOL bRet = AttachThreadInput(dwThread, GetCurrentThreadId(), TRUE);
if(bRet ==0)
{
DWORD lastError = GetLastError(); // 查看错误码是 5 - 拒绝访问
return;
}
// 获取焦点窗口句柄
HWND hFocus = GetFocus();
// 解除贴附
AttachThreadInput(dwThread, GetCurrentThreadId(), FALSE);
// 发送消息
PostMessage(hFocus, WM_KEYDOWN, VK_TAB, 0);
之前用这个逻辑一直好好的,直到碰到某一个产品
窗口类名是大名鼎鼎的 Chrome_WidgetWin_1
这个是Chrome UI框架的安全机制导致的么,有没有解决方法?
求大神支招
2 个解决方案
#1
的确是权限的问题,右键使用管理员权限运行后无此问题。
#1
的确是权限的问题,右键使用管理员权限运行后无此问题。