程序A.exe要调用B.exe,因为A是全屏的,正确调B后,一点击A,B就不见了。
  A是全屏的不能改变,我想让B置于最前端。
   大家说说有什么好办法

解决方案 »

  1.   

    A调用B后,找出B的窗体句柄,把它设为最顶层
      

  2.   

    谢谢 能否给出代码呢?
    API用的不熟
      

  3.   

    http://blog.csdn.net/liangpei2008/archive/2009/04/29/4137115.aspx
      

  4.   

    如下var
       handle : THandle;
    begin
     ShellExecute(Form1.handle, 'Open', 'c:\WINDOWS\System32\calc.exe', nil, nil, SW_NORMAL);
     Sleep(100);
     handle := FindWindow(nil, PChar('计算器'));
     Windows.SetParent(handle,Self.Handle);
     MoveWindow(handle,0,0,ClientWidth,ClientHeight,True);
      

  5.   

    你这个方式有bug,打开另一个程序后,一移动就会出现显示问题。
    而且你这个A上的功能不能用。
      

  6.   

    ::SetWindowPos(m_hWnd, HWND_TOPMOST, rect.left,rect.top,rect.right,rect.bottom, SWP_SHOWWINDOW);
      

  7.   

    上面这位是正确的
    SetWindowPos