如题.
A程序中的SHOWWINDOW是:
SHOWWINDOW(B程序.handle,Sw_SHow)或者
SHOWWINDOW(B程序.handle,Sw_Restore) 这时B程序的系统按扭中最大化 关闭按扭都可使用,只有最小化按扭不能使用.(B程序原来有最小化按扭并能使用.)我查了很多贴子都没有提到解决之道.我很急的.

解决方案 »

  1.   

    仔细的核对一下两个主form的属性。
      

  2.   

    是Application.Handle还是form1.Handle?
      

  3.   

    一般用的是
    Application.Handle
    吧,这样就不好说了
      

  4.   

    用 Application.restore 代替 ShowWindow( )
      

  5.   

    估计你是用FindWindow找到B程序.Handle的吧,如果是B程序是Delphi程序,
    一般要发送给Application来恢复,var h: HWND;
    begin
      h := GetWindow(B程序.Handle, GW_OWNER);  // 这样可以取得Application的句柄
      if h > 0 then
        ShowWindow(h, SW_RESTORE)
      else
        ShowWindow(B程序.Handle, SW_RESTORE);
    end;
      

  6.   

    showwindow对delphi的form不太管用,不是showwindow有问题,也不是form有问题。
    而是window机制的问题。嘻嘻。
    好说正事,用sendmessage取代showmessage。
    sendmessage(b.handle,wm_syscommand,sc_restore,0);
    sorry,code insight用久了,不能保证没写错哦。
      

  7.   

    martinloyee(混到天长地久,睡到海枯石烂):老大,我试过,不能解决. sysu(死树) :
    我不是用FINDWindow来找这个窗口的.
    我把所有新开程序的HANDLE保存在一个记录中.
    用时找一下该HANDLE的程序是否还在运行,是就弹出恢复,不是就新运行一个,