应用程序2接收到消息后:
BringWindowToTop(handle);

解决方案 »

  1.   

    SetWindowPos(Handle,Hwnd_Topmost,0,0,0,0,(SWP_NOMOVE Or SWP_NOSIZE));
      

  2.   

    应用程序2也是无窗口的,在接收到消息后,根据条件,在一个非可视窗口上通过控件创建几种showmodal的可视窗口,因此在接收到消息后的处理中,只有Application的handle
    BringWindowToTop(handle);和SetWindowPos(Handle,Hwnd_Topmost,0,0,0,0,(SWP_NOMOVE Or SWP_NOSIZE)); 都不行,以下方法也是不行的:
      //Application.BringToFront;
      //SendMessage( Application.Handle, WM_ACTIVATEAPP, 1, 0 );
      //SendMessage( Application.Handle, WM_COMMAND, 1, 0 );
      //SendMessage( AcceptUrlForm.Handle, WM_ACTIVATE, WA_CLICKACTIVE, 0 );
      //SendMessage( Application.Handle, CM_ACTIVATE, 1, 0 );
      //SetActiveWindow( Application.Handle);
      //SendMessage( Application.Handle, WM_SYSCOMMAND, SC_RESTORE, 0 );
      

  3.   

    更正:应用程序2也是无窗口的,在接收到消息后,根据条件,在一个非可视窗口上通过控件创建几种showmodal的可视窗口,因此在接收到消息后的处理中,只有Application的handle能够访问
    BringWindowToTop(handle);和SetWindowPos(Handle,Hwnd_Topmost,0,0,0,0,(SWP_NOMOVE Or SWP_NOSIZE)); 都不行,以下方法也是不行的:
      //Application.BringToFront;
      //SendMessage( Application.Handle, WM_ACTIVATEAPP, 1, 0 );
      //SendMessage( Application.Handle, WM_COMMAND, 1, 0 );
      //SendMessage( Application.Handle, CM_ACTIVATE, 1, 0 );
      //SetActiveWindow( Application.Handle);
      //SendMessage( Application.Handle, WM_SYSCOMMAND, SC_RESTORE, 0 );