永发信息网

MFC 如何切换进程到前台

答案:2  悬赏:30  手机版
解决时间 2021-03-21 00:07
void CPat1::OnButton1()
{
// TODO: Add your control notification handler code here
Sleep(5000);
之后用什么代码能操作为点击这个按钮后选择另外一个程序运行
5秒后弹出此窗口的消息"111"并且把该程序转到前台运行(要求此程序前台显示并且任务栏和进程的焦点在此程序上)
AfxMessageBox("1111");
}

做过很多尝试
BringWindowToTop();
SetForegroundWindow();
SetWindowPos();
我是在线程中编的
有两种情况
1.前台显示了但是没有获得焦点,焦点是在当前窗口上
::SetWindowPos(pDlg->GetSafeHwnd(),HWND_TOPMOST,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);
pDlg->MessageBox("1111","1111",MB_OK|MB_TOPMOST);
::SetWindowPos(pDlg->GetSafeHwnd(),HWND_NOTOPMOST,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);

2.前台显示了但是messagebox内容却是当前选中的窗口子窗口而不是想要前台显示窗口的子窗口
中间那句为::MessageBox(GetForegroundWindow()->GetSafeHwnd(),"1111","1111",MB_OK|MB_TOPMOST);

还有就是看了又人说了
SwitchToThisWindow这个函数
但是照着他写的
typedef void (WINAPI *PROCSWITCHTOTHISWINDOW) (HWND, BOOL);

PROCSWITCHTOTHISWINDOW SwitchToThisWindow;

HMODULE hUser32 = GetModuleHandle( "user32 ");

SwitchToThisWindow = (PROCSWITCHTOTHISWINDOW)GetProcAddress(hUser32, "SwitchToThisWindow ");

这个编译之后却提示
error C2501: 'SwitchToThisWindow' : missing storage-class or type specifiers

请高人帮忙解答下,怎么才能做到
最佳答案
SetForegroundWindow();
多试几次,最好弄个循环
全部回答
用hook(钩子)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
金溪民方仲永,世隶耕。仲永生五年,未尝识书
在广东惠州买的十堰至广州的火车票,在十堰火
家里有个藏传佛教的罐子该怎么办
大里南路/西山道(路口)地址在什么地方,想过
如果单元格高度是8mm,文字高度是5mm,怎么设
下列各句中划线的成语使用恰当的一项是A.“正
房贷可以只用公积金还吗
放屁用英语怎么说
汉鼎鱼竿绕线
户口所在地不是自由行的开放城市,可以办理入
海参发好后,冷冻缩水,怎么速发起来
玉银水暖经营部怎么去啊,有知道地址的么
学校:莲池中学 姓名:李晓燕 考号:16323270
高三男,近几天老是嗤睡,白天没精打采的,浑
手机的工作电路很复杂,但可以简化为如图所示
推荐资讯
净全辐射与散射辐射的关系
中国建设银行玉林支行地址在哪,我要去那里办
石家庄裕华路科技大厦在
魅蓝note可以设置快捷拨号吗?
比的后项相当于分数的A.分子B.分母C.分数线
前保险杠撞裂了,还有点错位.需要马上修吗
英雄产的碳素墨水很容易堵笔吗?
yee后面加什么可以当作英文名?
陆贞传奇里面长广王殿下叫什么名字
女生很容易喜欢上男生(俗称 见一个爱一个)
如何使自己能保持整天精力充沛
BJD 就是兽配的猫耳掉了一只…买了自由树脂准
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?