我做了一个运行在后台的网络检测小程序,主界面是一对话框,程序一开始运行就ShowWindow(SW_HIDE)将它隐藏在后台,并将其设一个小图标在任务条的右下角,当程序检测到网络错误,我ShowWindow(SW_SHOWNORMAL),并SetForegroundWindow(),它在任务条上的标题栏由蓝边白,由白变蓝闪个不停,却不强行成为当前活动窗口,不知道怎么才能象有些程序,好比一些安装程序那样,不管你现在在干什么,不管你的当前程序是什么,都强行成为主窗口,难道SetForegroundWindow()做不到这一点吗?那还有什么函数?
具体看看msdn。
但是好像没有什么好的办法
你可以在setforegroundwindow后
向该窗口发送回车键试试看
liaomu,ShowWindow里没有这样的参数,最合适的就是SW_SHOWNORMAL,不行。
好象FlashGet这个软件下载完以后提示对话框可以强行弹出,不知道怎么搞的。
但是CWnd::SetWindowPos()的第一个参数却不知道用什么。
http://msdn.microsoft.com/library/en-us/vclib/html/_mfc_cwnd.3a3a.setwindowpos.asp?frame=true
或者SendMessageSetWindowPos可以解决问题嘛?