jxgzlws
驱动牛犊
驱动牛犊
  • 注册日期2007-12-26
  • 最后登录2012-03-26
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
阅读:1665回复:0

WCE下窗口切换

楼主#
更多 发布于:2008-04-16 20:11
小弟我最近在测个功能.我们在GPS应用程序.由我们的程序创建了一个新的进程也就是地图导航软件.这时有个硬件开关.我想在按的时候能够切换回我们的应用程序.再按下又返回到地图软件.可是老是实现不了.
注:这个硬件开关在GPS应用程序里可以返回到主窗口界面.就是在GPS里不论你在那个窗口界面只要按下这个按键都能返回到主界面.
void CMyShellDlg::FromGpsToMain()
{
    PidAndWnd temp;
    temp.dwProcessId=GpsProcessInfo.dwProcessId;
    EnumWindows(EnumWindowsProcGetWndTitle,(long)(&temp)); 
    ::ShowWindow(temp.hWnd,SW_HIDE);    
    

    CWnd * pWnd;
    pWnd=GetActiveWindow();
    if(pWnd)
        pWnd->SetForegroundWindow();

    m_iNeedRefresh=1;

}

这是隐藏代码
if(GpsProcessInfo.hProcess)
    {
        PidAndWnd temp;
        temp.dwProcessId=GpsProcessInfo.dwProcessId;
        EnumWindows(EnumWindowsProcGetWndTitle,(long)(&temp)); 
         
        if(temp.hWnd)
        {

            ::SetForegroundWindow(temp.hWnd);
            int screenx=GetSystemMetrics(SM_CXSCREEN); 
            int screeny=GetSystemMetrics(SM_CYSCREEN); 
            ::SetWindowPos(temp.hWnd,HWND_TOP,0,0,screenx,screeny,SWP_SHOWWINDOW); 
            ::ShowWindow(temp.hWnd,SW_SHOW);
            SetRespond();
            return;
        }    
    }

这是显示代码.
现在能隐藏了.可是再点GPS图标却不能显示刚才隐藏的进程.
游客

返回顶部