主程序创建新的进程后失去焦点 主程序创建新的进程后失去焦点,如何避免,创建后焦点仍留在主程序窗口上呢?网上好多方法我都试过SetWindowPosSetWindowForegroundSetFocusSetActiveWindow 都不行啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用HOOK吧,勾住WM_ACTIVATE消息有个比较山寨的方法,响应WM_TIMER消息OnTimer函数中:HWND hWnd = ::GetForegroundWindow(); if(hWnd != GetSafeHwnd()) { SetWindowPos(&wndTop, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); SetForegroundWindow(); CPoint pt; ::GetCursorPos(&pt); CRect rc; GetWindowRect(rc); CPoint newPt(rc.CenterPoint()); ShowCursor(FALSE); SetCursorPos(newPt.x, newPt.y); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); SetCursorPos(pt.x, pt.y); ShowCursor(TRUE); } //- 初始化进程所需参数 STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory(&si,sizeof(STARTUPINFO)); ZeroMemory(&pi,sizeof(PROCESS_INFORMATION)); si.cb = sizeof(STARTUPINFO); si.dwFlags = STARTF_USESHOWWINDOW; si.wShowWindow = SW_SHOWNOACTIVATE; //- 创建服务进程,完成服务的注册 if (!::CreateProcess(NULL, m_strSvcFullPath.GetBuffer(m_strSvcFullPath.GetLength()), NULL, NULL, false, 0, NULL, NULL, &si, &pi)) { m_strSvcFullPath.ReleaseBuffer(); return false; } m_strSvcFullPath.ReleaseBuffer(); CListCtrl的响应鼠标右键单击的问题 求助:关于串口通信数据处理问题 如何禁用网卡????????????急急急!!!!!!!!!!!!!高手帮忙呀!!!!!!!!!!!!! 对话框怎么操作Access库? 如何判断当前计算机不在网络中(局域网、拨号网络) 谁能给我说一下this这个指针 画圆 先声明,我不是坏人,如何得到qq登陆窗体的句柄?用FindWindow怎么不行? 求一个多个List的Demo 一开始运用工程能够出效果图,但是最近不知道为什么又不能出效果图了 为什么通过交换机能udp通信正常,通过直连就不正常收发 谁用过GuiToolkit
OnTimer函数中:HWND hWnd = ::GetForegroundWindow();
if(hWnd != GetSafeHwnd())
{
SetWindowPos(&wndTop, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
SetForegroundWindow();
CPoint pt;
::GetCursorPos(&pt);
CRect rc;
GetWindowRect(rc);
CPoint newPt(rc.CenterPoint());
ShowCursor(FALSE); SetCursorPos(newPt.x, newPt.y);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
SetCursorPos(pt.x, pt.y);
ShowCursor(TRUE);
}
//- 初始化进程所需参数
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si,sizeof(STARTUPINFO));
ZeroMemory(&pi,sizeof(PROCESS_INFORMATION));
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOWNOACTIVATE;
//- 创建服务进程,完成服务的注册
if (!::CreateProcess(NULL, m_strSvcFullPath.GetBuffer(m_strSvcFullPath.GetLength()), NULL, NULL, false, 0, NULL, NULL, &si, &pi))
{
m_strSvcFullPath.ReleaseBuffer();
return false;
} m_strSvcFullPath.ReleaseBuffer();