先获得被调用程序的Handle, 在用SendMessage发送消息给被调用的应用程序

解决方案 »

  1.   

    以记事本为例:
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      WinExec('Notepad.exe',SW_SHOW);
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowWindow(FindWindow('Notepad',nil),SW_MAXIMIZE);
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      ShowWindow(FindWindow('Notepad',nil),SW_MINIMIZE);
    end;
      

  2.   

    函数功能:该函数设置指定窗口的显示状态。    函数原型:BOOL ShowWindow(HWND hWnd,int nCmdShow);    参数:    hWnd:窗口句柄。    nCmdShow:指定窗口如何显示。如果发送应用程序的程序提供了STARTUPINFO结构,则应用程序第一次调用ShowWindow时该参数被忽略。否则,在第一次调用ShowWindow函数时,该值应为在函数WinMain中nCmdShow参数。在随后的调用中,该参数可以为下列值之一:    SW_FORCEMINIMIZE:在WindowNT5.0中最小化窗口,即使拥有窗口的线程被挂起也会最小化。在从其他线程最小化窗口时才使用这个参数。    SW_MIOE:隐藏窗口并激活其他窗口。    SW_MAXIMIZE:最大化指定的窗口。    SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一个顶层窗口。    SW_RESTORE:激活并显示窗口。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。在恢复最小化窗口时,应用程序应该指定这个标志。    SW_SHOW:在窗口原来的位置以原来的尺寸激活和显示窗口。    SW_SHOWDEFAULT:依据在STARTUPINFO结构中指定的SW_FLAG标志设定显示状态,STARTUPINFO 结构是由启动应用程序的程序传递给CreateProcess函数的。    SW_SHOWMAXIMIZED:激活窗口并将其最大化。    SW_SHOWMINIMIZED:激活窗口并将其最小化。    SW_SHOWMINNOACTIVATE:窗口最小化,激活窗口仍然维持激活状态。    SW_SHOWNA:以窗口原来的状态显示窗口。激活窗口仍然维持激活状态。    SW_SHOWNOACTIVATE:以窗口最近一次的大小和状态显示窗口。激活窗口仍然维持激活状态
      

  3.   

    不是SendMessage 就是ShowWindow